hyperx.api
1from __future__ import annotations 2from ..library import _api, _types 3 4from ..api import types 5from typing import TypeVar, Generic, overload 6from enum import Enum 7from System.Collections.Generic import List, IEnumerable, Dictionary, HashSet 8from System.Threading.Tasks import Task 9from System import Guid, DateTime, Action 10 11from abc import ABC, abstractmethod 12 13T = TypeVar('T') 14 15def MakeCSharpIntList(ints: list[int]) -> List[int]: 16 intsList = List[int]() 17 if ints is not None: 18 for thing in ints: 19 if thing is not None: 20 intsList.Add(thing) 21 22 return intsList 23 24class AnalysisResultToReturn(Enum): 25 ''' 26 Used to specify which analysis result to return. 27 ''' 28 Limit = 1 29 Ultimate = 2 30 Minimum = 3 31 32class CollectionModificationStatus(Enum): 33 ''' 34 Indicates whether a collection was manipulated successfully. 35 ''' 36 Success = 1 37 DuplicateIdFailure = 2 38 EntityMissingAddFailure = 3 39 EntityMissingRemovalFailure = 4 40 FemConnectionFailure = 5 41 42class CreateDatabaseStatus(Enum): 43 Success = 1 44 TemplateNotFound = 2 45 ImproperExtension = 3 46 47class MaterialCreationStatus(Enum): 48 ''' 49 Indicates whether a material was created successfully. 50 If not, this indicates why the material was not created. 51 ''' 52 Success = 1 53 DuplicateNameFailure = 2 54 DuplicateFemIdFailure = 3 55 MissingMaterialToCopy = 4 56 57class DbForceUnit(Enum): 58 Pounds = 1 59 Newtons = 2 60 Dekanewtons = 4 61 62class DbLengthUnit(Enum): 63 Inches = 1 64 Feet = 2 65 Meters = 3 66 Centimeters = 4 67 Millimeters = 5 68 69class DbMassUnit(Enum): 70 Pounds = 1 71 Kilograms = 2 72 Slinches = 4 73 Slugs = 5 74 Megagrams = 6 75 76class DbTemperatureUnit(Enum): 77 Fahrenheit = 1 78 Rankine = 2 79 Celsius = 3 80 Kelvin = 4 81 82class ProjectCreationStatus(Enum): 83 ''' 84 Indicates whether a project was created successfully. 85 If not, this indicates why the project was not created. 86 ''' 87 Success = 1 88 Failure = 2 89 DuplicateNameFailure = 3 90 91class ProjectDeletionStatus(Enum): 92 ''' 93 Indicates whether a project was deleted successfully. 94 If not, this indicates why the project was not deleted. 95 ''' 96 Success = 1 97 Failure = 2 98 ProjectDoesNotExistFailure = 3 99 ActiveProjectFailure = 4 100 101class SetUnitsStatus(Enum): 102 Success = 1 103 Error = 2 104 MixedUnitSystemError = 3 105 106class PropertyAssignmentStatus(Enum): 107 Success = 1 108 Failure = 2 109 FailureCollectionAssignment = 3 110 PropertyIsNull = 4 111 PropertyNotFoundInDb = 5 112 EmptyCollection = 6 113 IncompatiblePropertyAssignment = 7 114 EntityDoesNotExist = 8 115 116class RundeckBulkUpdateStatus(Enum): 117 NoRundecksUpdated = 0 118 Success = 1 119 InputFilePathDoesNotExist = 2 120 ResultFilePathDoesNotExist = 3 121 InputFilePathAlreadyExists = 4 122 ResultFilePathAlreadyExists = 5 123 InvalidPathCount = 6 124 RundeckBulkUpdateFailure = 7 125 SuccessButIncompatibleFem = 8 126 127class RundeckCreationStatus(Enum): 128 Success = 1 129 InputFilePathAlreadyExists = 2 130 ResultFilePathAlreadyExists = 3 131 132class RundeckRemoveStatus(Enum): 133 Success = 1 134 InvalidId = 2 135 CannotRemoveLastRundeck = 3 136 CannotDeletePrimaryRundeck = 4 137 RundeckNotFound = 5 138 RundeckRemoveFailure = 6 139 SuccessButIncompatibleFem = 7 140 141class RundeckUpdateStatus(Enum): 142 Success = 1 143 InvalidId = 2 144 IdDoesNotExist = 3 145 RundeckAlreadyPrimary = 4 146 InputPathInUse = 5 147 ResultPathInUse = 6 148 RundeckCommitFailure = 7 149 InputPathDoesNotExist = 8 150 ResultPathDoesNotExist = 9 151 SuccessButIncompatibleFem = 10 152 153class ZoneCreationStatus(Enum): 154 ''' 155 Indicates whether a zone was created successfully. 156 If not, this indicates why the zone was not created. 157 ''' 158 Success = 1 159 DuplicateNameFailure = 2 160 InvalidFamilyCategory = 3 161 162class ZoneIdUpdateStatus(Enum): 163 Success = 1 164 DuplicateIdFailure = 2 165 IdOutOfRangeError = 3 166 167class UnitSystem(Enum): 168 ''' 169 Unit system specified when starting a scripting Application. 170 ''' 171 English = 1 172 SI = 2 173 174class IdEntity(ABC): 175 ''' 176 Represents an entity with an ID. 177 ''' 178 def __init__(self, idEntity: _api.IdEntity): 179 self._Entity = idEntity 180 181 @property 182 def Id(self) -> int: 183 return self._Entity.Id 184 185 186class IdNameEntity(IdEntity): 187 ''' 188 Represents an entity with an ID and Name. 189 ''' 190 def __init__(self, idNameEntity: _api.IdNameEntity): 191 self._Entity = idNameEntity 192 193 @property 194 def Name(self) -> str: 195 return self._Entity.Name 196 197class AnalysisDefinition(IdNameEntity): 198 def __init__(self, analysisDefinition: _api.AnalysisDefinition): 199 self._Entity = analysisDefinition 200 201 @property 202 def AnalysisId(self) -> int: 203 return self._Entity.AnalysisId 204 205 @property 206 def Description(self) -> str: 207 return self._Entity.Description 208 209 210class Margin: 211 ''' 212 Represents a Margin result. 213 ''' 214 def __init__(self, margin: _api.Margin): 215 self._Entity = margin 216 217 @property 218 def AdjustedMargin(self) -> float: 219 return self._Entity.AdjustedMargin 220 221 @property 222 def IsFailureCode(self) -> bool: 223 return self._Entity.IsFailureCode 224 225 @property 226 def IsInformationalCode(self) -> bool: 227 return self._Entity.IsInformationalCode 228 229 @property 230 def MarginCode(self) -> types.MarginCode: 231 return types.MarginCode[self._Entity.MarginCode.ToString()] 232 233 234class AnalysisResult(ABC): 235 ''' 236 Contains result information for an analysis 237 ''' 238 def __init__(self, analysisResult: _api.AnalysisResult): 239 self._Entity = analysisResult 240 241 @property 242 def LimitUltimate(self) -> types.LimitUltimate: 243 ''' 244 Limit vs Ultimate loads. 245 ''' 246 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 247 248 @property 249 def LoadCaseId(self) -> int: 250 return self._Entity.LoadCaseId 251 252 @property 253 def Margin(self) -> Margin: 254 ''' 255 Represents a Margin result. 256 ''' 257 result = self._Entity.Margin 258 return Margin(result) if result is not None else None 259 260 @property 261 def AnalysisDefinition(self) -> AnalysisDefinition: 262 result = self._Entity.AnalysisDefinition 263 return AnalysisDefinition(result) if result is not None else None 264 265 266class JointAnalysisResult(AnalysisResult): 267 def __init__(self, jointAnalysisResult: _api.JointAnalysisResult): 268 self._Entity = jointAnalysisResult 269 270 @property 271 def ObjectId(self) -> types.JointObject: 272 ''' 273 Enum identifying the possible entities within a joint 274 ''' 275 return types.JointObject[self._Entity.ObjectId.ToString()] 276 277 278class ZoneAnalysisConceptResult(AnalysisResult): 279 def __init__(self, zoneAnalysisConceptResult: _api.ZoneAnalysisConceptResult): 280 self._Entity = zoneAnalysisConceptResult 281 282 @property 283 def ConceptId(self) -> types.FamilyConceptUID: 284 return types.FamilyConceptUID[self._Entity.ConceptId.ToString()] 285 286 287class ZoneAnalysisObjectResult(AnalysisResult): 288 def __init__(self, zoneAnalysisObjectResult: _api.ZoneAnalysisObjectResult): 289 self._Entity = zoneAnalysisObjectResult 290 291 @property 292 def ObjectId(self) -> types.FamilyObjectUID: 293 return types.FamilyObjectUID[self._Entity.ObjectId.ToString()] 294 295 296class AssignableProperty(IdNameEntity): 297 def __init__(self, assignableProperty: _api.AssignableProperty): 298 self._Entity = assignableProperty 299 300 301class AssignablePropertyWithFamilyCategory(AssignableProperty): 302 def __init__(self, assignablePropertyWithFamilyCategory: _api.AssignablePropertyWithFamilyCategory): 303 self._Entity = assignablePropertyWithFamilyCategory 304 305 @property 306 def FamilyCategory(self) -> types.FamilyCategory: 307 return types.FamilyCategory[self._Entity.FamilyCategory.ToString()] 308 309 310class FailureObjectGroup(IdNameEntity): 311 def __init__(self, failureObjectGroup: _api.FailureObjectGroup): 312 self._Entity = failureObjectGroup 313 314 @property 315 def ObjectGroup(self) -> types.ObjectGroup: 316 return types.ObjectGroup[self._Entity.ObjectGroup.ToString()] 317 318 @property 319 def IsEnabled(self) -> bool: 320 return self._Entity.IsEnabled 321 322 @property 323 def LimitUltimate(self) -> types.LimitUltimate: 324 ''' 325 Limit vs Ultimate loads. 326 ''' 327 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 328 329 @property 330 def RequiredMargin(self) -> float: 331 return self._Entity.RequiredMargin 332 333 @IsEnabled.setter 334 def IsEnabled(self, value: bool) -> None: 335 self._Entity.IsEnabled = value 336 337 @LimitUltimate.setter 338 def LimitUltimate(self, value: types.LimitUltimate) -> None: 339 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 340 341 @RequiredMargin.setter 342 def RequiredMargin(self, value: float) -> None: 343 self._Entity.RequiredMargin = value 344 345 346class FailureSetting(IdNameEntity): 347 ''' 348 Setting for a Failure Mode or a Failure Criteria. 349 ''' 350 def __init__(self, failureSetting: _api.FailureSetting): 351 self._Entity = failureSetting 352 353 @property 354 def CategoryId(self) -> int: 355 return self._Entity.CategoryId 356 357 @property 358 def DataType(self) -> types.UserConstantDataType: 359 return types.UserConstantDataType[self._Entity.DataType.ToString()] 360 361 @property 362 def DefaultValue(self) -> str: 363 return self._Entity.DefaultValue 364 365 @property 366 def Description(self) -> str: 367 return self._Entity.Description 368 369 @property 370 def EnumValues(self) -> dict[int, str]: 371 enumValuesDict = {} 372 for kvp in self._Entity.EnumValues: 373 enumValuesDict[int(kvp.Key)] = str(kvp.Value) 374 375 return enumValuesDict 376 377 @property 378 def PackageId(self) -> int: 379 return self._Entity.PackageId 380 381 @property 382 def PackageSettingId(self) -> int: 383 return self._Entity.PackageSettingId 384 385 @property 386 def UID(self) -> Guid: 387 return self._Entity.UID 388 389 @property 390 def Value(self) -> str: 391 return self._Entity.Value 392 393 def SetStringValue(self, value: str) -> None: 394 return self._Entity.SetStringValue(value) 395 396 def SetIntValue(self, value: int) -> None: 397 return self._Entity.SetIntValue(value) 398 399 def SetFloatValue(self, value: float) -> None: 400 return self._Entity.SetFloatValue(value) 401 402 def SetBoolValue(self, value: bool) -> None: 403 return self._Entity.SetBoolValue(value) 404 405 def SetSelectionValue(self, index: int) -> None: 406 return self._Entity.SetSelectionValue(index) 407 408 409class IdEntityCol(Generic[T], ABC): 410 def __init__(self, idEntityCol: _api.IdEntityCol): 411 self._Entity = idEntityCol 412 413 @property 414 def IdEntityColList(self) -> tuple[IdEntity]: 415 if self._Entity.Count() <= 0: 416 return () 417 thisClass = type(self._Entity._items[0]).__name__ 418 givenClass = IdEntity 419 for subclass in IdEntity.__subclasses__(): 420 if subclass.__name__ == thisClass: 421 givenClass = subclass 422 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity]) 423 424 @property 425 def Ids(self) -> tuple[int]: 426 return tuple([int(int32) for int32 in self._Entity.Ids]) 427 428 def Contains(self, id: int) -> bool: 429 return self._Entity.Contains(id) 430 431 def Count(self) -> int: 432 return self._Entity.Count() 433 434 def Get(self, id: int) -> T: 435 return self._Entity.Get(id) 436 437 def __getitem__(self, index: int): 438 return self.IdEntityColList[index] 439 440 def __iter__(self): 441 yield from self.IdEntityColList 442 443 def __len__(self): 444 return len(self.IdEntityColList) 445 446 447class IdNameEntityCol(IdEntityCol, Generic[T]): 448 def __init__(self, idNameEntityCol: _api.IdNameEntityCol): 449 self._Entity = idNameEntityCol 450 self._CollectedClass = T 451 452 @property 453 def IdNameEntityColList(self) -> tuple[T]: 454 if self._Entity.Count() <= 0: 455 return () 456 thisClass = type(self._Entity._items[0]).__name__ 457 givenClass = T 458 for subclass in T.__subclasses__(): 459 if subclass.__name__ == thisClass: 460 givenClass = subclass 461 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity]) 462 463 @property 464 def Names(self) -> tuple[str]: 465 return tuple([str(string) for string in self._Entity.Names]) 466 467 @overload 468 def Get(self, name: str) -> T: ... 469 470 @overload 471 def Get(self, id: int) -> T: ... 472 473 def Get(self, item1 = None) -> T: 474 if isinstance(item1, str): 475 return self._Entity.Get(item1) 476 477 if isinstance(item1, int): 478 return super().Get(item1) 479 480 return self._Entity.Get(item1) 481 482 def __getitem__(self, index: int): 483 return self.IdNameEntityColList[index] 484 485 def __iter__(self): 486 yield from self.IdNameEntityColList 487 488 def __len__(self): 489 return len(self.IdNameEntityColList) 490 491 492class FailureObjectGroupCol(IdNameEntityCol[FailureObjectGroup]): 493 def __init__(self, failureObjectGroupCol: _api.FailureObjectGroupCol): 494 self._Entity = failureObjectGroupCol 495 self._CollectedClass = FailureObjectGroup 496 497 @property 498 def FailureObjectGroupColList(self) -> tuple[FailureObjectGroup]: 499 return tuple([FailureObjectGroup(failureObjectGroupCol) for failureObjectGroupCol in self._Entity]) 500 501 @overload 502 def Get(self, objectGroup: types.ObjectGroup) -> FailureObjectGroup: ... 503 504 @overload 505 def Get(self, name: str) -> FailureObjectGroup: ... 506 507 @overload 508 def Get(self, id: int) -> FailureObjectGroup: ... 509 510 def Get(self, item1 = None) -> FailureObjectGroup: 511 if isinstance(item1, types.ObjectGroup): 512 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 513 514 if isinstance(item1, str): 515 return FailureObjectGroup(super().Get(item1)) 516 517 if isinstance(item1, int): 518 return FailureObjectGroup(super().Get(item1)) 519 520 return self._Entity.Get(_types.ObjectGroup(item1.value)) 521 522 def __getitem__(self, index: int): 523 return self.FailureObjectGroupColList[index] 524 525 def __iter__(self): 526 yield from self.FailureObjectGroupColList 527 528 def __len__(self): 529 return len(self.FailureObjectGroupColList) 530 531 532class FailureSettingCol(IdNameEntityCol[FailureSetting]): 533 def __init__(self, failureSettingCol: _api.FailureSettingCol): 534 self._Entity = failureSettingCol 535 self._CollectedClass = FailureSetting 536 537 @property 538 def FailureSettingColList(self) -> tuple[FailureSetting]: 539 return tuple([FailureSetting(failureSettingCol) for failureSettingCol in self._Entity]) 540 541 @overload 542 def Get(self, name: str) -> FailureSetting: ... 543 544 @overload 545 def Get(self, id: int) -> FailureSetting: ... 546 547 def Get(self, item1 = None) -> FailureSetting: 548 if isinstance(item1, str): 549 return FailureSetting(super().Get(item1)) 550 551 if isinstance(item1, int): 552 return FailureSetting(super().Get(item1)) 553 554 return self._Entity.Get(item1) 555 556 def __getitem__(self, index: int): 557 return self.FailureSettingColList[index] 558 559 def __iter__(self): 560 yield from self.FailureSettingColList 561 562 def __len__(self): 563 return len(self.FailureSettingColList) 564 565 566class FailureCriterion(IdNameEntity): 567 def __init__(self, failureCriterion: _api.FailureCriterion): 568 self._Entity = failureCriterion 569 570 @property 571 def Description(self) -> str: 572 return self._Entity.Description 573 574 @property 575 def IsEnabled(self) -> bool: 576 return self._Entity.IsEnabled 577 578 @property 579 def LimitUltimate(self) -> types.LimitUltimate: 580 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 581 582 @property 583 def ObjectGroups(self) -> FailureObjectGroupCol: 584 result = self._Entity.ObjectGroups 585 return FailureObjectGroupCol(result) if result is not None else None 586 587 @property 588 def RequiredMargin(self) -> float: 589 return self._Entity.RequiredMargin 590 591 @property 592 def Settings(self) -> FailureSettingCol: 593 result = self._Entity.Settings 594 return FailureSettingCol(result) if result is not None else None 595 596 @IsEnabled.setter 597 def IsEnabled(self, value: bool) -> None: 598 self._Entity.IsEnabled = value 599 600 @LimitUltimate.setter 601 def LimitUltimate(self, value: types.LimitUltimate) -> None: 602 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 603 604 @RequiredMargin.setter 605 def RequiredMargin(self, value: float) -> None: 606 self._Entity.RequiredMargin = value 607 608 609class IdNameEntityRenameable(IdNameEntity): 610 def __init__(self, idNameEntityRenameable: _api.IdNameEntityRenameable): 611 self._Entity = idNameEntityRenameable 612 613 def Rename(self, name: str) -> None: 614 return self._Entity.Rename(name) 615 616 617class FailureCriterionCol(IdNameEntityCol[FailureCriterion]): 618 def __init__(self, failureCriterionCol: _api.FailureCriterionCol): 619 self._Entity = failureCriterionCol 620 self._CollectedClass = FailureCriterion 621 622 @property 623 def FailureCriterionColList(self) -> tuple[FailureCriterion]: 624 return tuple([FailureCriterion(failureCriterionCol) for failureCriterionCol in self._Entity]) 625 626 @overload 627 def Get(self, name: str) -> FailureCriterion: ... 628 629 @overload 630 def Get(self, id: int) -> FailureCriterion: ... 631 632 def Get(self, item1 = None) -> FailureCriterion: 633 if isinstance(item1, str): 634 return FailureCriterion(super().Get(item1)) 635 636 if isinstance(item1, int): 637 return FailureCriterion(super().Get(item1)) 638 639 return self._Entity.Get(item1) 640 641 def __getitem__(self, index: int): 642 return self.FailureCriterionColList[index] 643 644 def __iter__(self): 645 yield from self.FailureCriterionColList 646 647 def __len__(self): 648 return len(self.FailureCriterionColList) 649 650 651class FailureMode(IdNameEntityRenameable): 652 def __init__(self, failureMode: _api.FailureMode): 653 self._Entity = failureMode 654 655 @property 656 def AnalysisCategoryId(self) -> int: 657 return self._Entity.AnalysisCategoryId 658 659 @property 660 def AnalysisCategoryName(self) -> str: 661 return self._Entity.AnalysisCategoryName 662 663 @property 664 def Criteria(self) -> FailureCriterionCol: 665 result = self._Entity.Criteria 666 return FailureCriterionCol(result) if result is not None else None 667 668 @property 669 def Settings(self) -> FailureSettingCol: 670 result = self._Entity.Settings 671 return FailureSettingCol(result) if result is not None else None 672 673 674class FailureModeCol(IdNameEntityCol[FailureMode]): 675 def __init__(self, failureModeCol: _api.FailureModeCol): 676 self._Entity = failureModeCol 677 self._CollectedClass = FailureMode 678 679 @property 680 def FailureModeColList(self) -> tuple[FailureMode]: 681 return tuple([FailureMode(failureModeCol) for failureModeCol in self._Entity]) 682 683 @overload 684 def CreateFailureMode(self, failureModeCategoryId: int, name: str = None) -> FailureMode: ... 685 686 @overload 687 def CreateFailureMode(self, failureModeCategory: str, name: str = None) -> FailureMode: ... 688 689 @overload 690 def Get(self, name: str) -> FailureMode: ... 691 692 @overload 693 def Get(self, id: int) -> FailureMode: ... 694 695 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 696 if isinstance(item1, int) and isinstance(item2, str): 697 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 698 699 if isinstance(item1, str) and isinstance(item2, str): 700 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 701 702 return self._Entity.CreateFailureMode(item1, item2) 703 704 def Get(self, item1 = None) -> FailureMode: 705 if isinstance(item1, str): 706 return FailureMode(super().Get(item1)) 707 708 if isinstance(item1, int): 709 return FailureMode(super().Get(item1)) 710 711 return self._Entity.Get(item1) 712 713 def __getitem__(self, index: int): 714 return self.FailureModeColList[index] 715 716 def __iter__(self): 717 yield from self.FailureModeColList 718 719 def __len__(self): 720 return len(self.FailureModeColList) 721 722 723class AnalysisProperty(AssignablePropertyWithFamilyCategory): 724 def __init__(self, analysisProperty: _api.AnalysisProperty): 725 self._Entity = analysisProperty 726 727 @property 728 def FailureModes(self) -> FailureModeCol: 729 result = self._Entity.FailureModes 730 return FailureModeCol(result) if result is not None else None 731 732 @overload 733 def AddFailureMode(self, id: int) -> None: ... 734 735 @overload 736 def AddFailureMode(self, ids: tuple[int]) -> None: ... 737 738 @overload 739 def RemoveFailureMode(self, id: int) -> None: ... 740 741 @overload 742 def RemoveFailureMode(self, ids: tuple[int]) -> None: ... 743 744 def AddFailureMode(self, item1 = None) -> None: 745 if isinstance(item1, int): 746 return self._Entity.AddFailureMode(item1) 747 748 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 749 idsList = MakeCSharpIntList(item1) 750 idsEnumerable = IEnumerable(idsList) 751 return self._Entity.AddFailureMode(idsEnumerable) 752 753 return self._Entity.AddFailureMode(item1) 754 755 def RemoveFailureMode(self, item1 = None) -> None: 756 if isinstance(item1, int): 757 return self._Entity.RemoveFailureMode(item1) 758 759 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 760 idsList = MakeCSharpIntList(item1) 761 idsEnumerable = IEnumerable(idsList) 762 return self._Entity.RemoveFailureMode(idsEnumerable) 763 764 return self._Entity.RemoveFailureMode(item1) 765 766 767class DesignProperty(AssignablePropertyWithFamilyCategory): 768 def __init__(self, designProperty: _api.DesignProperty): 769 self._Entity = designProperty 770 771 def Copy(self, newName: str = None) -> DesignProperty: 772 result = self._Entity.Copy(newName) 773 thisClass = type(result).__name__ 774 givenClass = DesignProperty 775 for subclass in DesignProperty.__subclasses__(): 776 if subclass.__name__ == thisClass: 777 givenClass = subclass 778 return givenClass(result) 779 780 781class LoadProperty(AssignableProperty): 782 def __init__(self, loadProperty: _api.LoadProperty): 783 self._Entity = loadProperty 784 785 @property 786 def Category(self) -> types.FamilyCategory: 787 return types.FamilyCategory[self._Entity.Category.ToString()] 788 789 @property 790 def Type(self) -> types.LoadPropertyType: 791 return types.LoadPropertyType[self._Entity.Type.ToString()] 792 793 @property 794 def IsZeroCurvature(self) -> bool: 795 return self._Entity.IsZeroCurvature 796 797 @property 798 def ModificationDate(self) -> DateTime: 799 return self._Entity.ModificationDate 800 801 802class DesignLoadSubcase(IdNameEntity): 803 def __init__(self, designLoadSubcase: _api.DesignLoadSubcase): 804 self._Entity = designLoadSubcase 805 806 @property 807 def RunDeckId(self) -> int: 808 return self._Entity.RunDeckId 809 810 @property 811 def IsThermal(self) -> bool: 812 return self._Entity.IsThermal 813 814 @property 815 def IsEditable(self) -> bool: 816 return self._Entity.IsEditable 817 818 @property 819 def Description(self) -> str: 820 return self._Entity.Description 821 822 @property 823 def ModificationDate(self) -> DateTime: 824 return self._Entity.ModificationDate 825 826 @property 827 def NastranSubcaseId(self) -> int: 828 return self._Entity.NastranSubcaseId 829 830 @property 831 def NastranLoadId(self) -> int: 832 return self._Entity.NastranLoadId 833 834 @property 835 def NastranSpcId(self) -> int: 836 return self._Entity.NastranSpcId 837 838 @property 839 def AbaqusStepName(self) -> str: 840 return self._Entity.AbaqusStepName 841 842 @property 843 def AbaqusLoadCaseName(self) -> str: 844 return self._Entity.AbaqusLoadCaseName 845 846 @property 847 def AbaqusStepTime(self) -> float: 848 return self._Entity.AbaqusStepTime 849 850 @property 851 def RunDeckOrder(self) -> int: 852 return self._Entity.RunDeckOrder 853 854 @property 855 def SolutionType(self) -> types.FeaSolutionType: 856 return types.FeaSolutionType[self._Entity.SolutionType.ToString()] 857 858 859class DesignLoadSubcaseMultiplier(IdNameEntity): 860 def __init__(self, designLoadSubcaseMultiplier: _api.DesignLoadSubcaseMultiplier): 861 self._Entity = designLoadSubcaseMultiplier 862 863 @property 864 def LimitFactor(self) -> float: 865 return self._Entity.LimitFactor 866 867 @property 868 def Subcase(self) -> DesignLoadSubcase: 869 result = self._Entity.Subcase 870 return DesignLoadSubcase(result) if result is not None else None 871 872 @property 873 def UltimateFactor(self) -> float: 874 return self._Entity.UltimateFactor 875 876 @property 877 def Value(self) -> float: 878 return self._Entity.Value 879 880 881class DesignLoadSubcaseTemperature(IdNameEntity): 882 def __init__(self, designLoadSubcaseTemperature: _api.DesignLoadSubcaseTemperature): 883 self._Entity = designLoadSubcaseTemperature 884 885 @property 886 def HasTemperatureSubcase(self) -> bool: 887 return self._Entity.HasTemperatureSubcase 888 889 @property 890 def Subcase(self) -> DesignLoadSubcase: 891 result = self._Entity.Subcase 892 return DesignLoadSubcase(result) if result is not None else None 893 894 @property 895 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 896 ''' 897 Load Case Setting selection for analysis and initial temperature. 898 ''' 899 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()] 900 901 @property 902 def Value(self) -> float: 903 return self._Entity.Value 904 905 906class DesignLoadSubcaseMultiplierCol(IdNameEntityCol[DesignLoadSubcaseMultiplier]): 907 def __init__(self, designLoadSubcaseMultiplierCol: _api.DesignLoadSubcaseMultiplierCol): 908 self._Entity = designLoadSubcaseMultiplierCol 909 self._CollectedClass = DesignLoadSubcaseMultiplier 910 911 @property 912 def DesignLoadSubcaseMultiplierColList(self) -> tuple[DesignLoadSubcaseMultiplier]: 913 return tuple([DesignLoadSubcaseMultiplier(designLoadSubcaseMultiplierCol) for designLoadSubcaseMultiplierCol in self._Entity]) 914 915 @overload 916 def Get(self, name: str) -> DesignLoadSubcaseMultiplier: ... 917 918 @overload 919 def Get(self, id: int) -> DesignLoadSubcaseMultiplier: ... 920 921 def Get(self, item1 = None) -> DesignLoadSubcaseMultiplier: 922 if isinstance(item1, str): 923 return DesignLoadSubcaseMultiplier(super().Get(item1)) 924 925 if isinstance(item1, int): 926 return DesignLoadSubcaseMultiplier(super().Get(item1)) 927 928 return self._Entity.Get(item1) 929 930 def __getitem__(self, index: int): 931 return self.DesignLoadSubcaseMultiplierColList[index] 932 933 def __iter__(self): 934 yield from self.DesignLoadSubcaseMultiplierColList 935 936 def __len__(self): 937 return len(self.DesignLoadSubcaseMultiplierColList) 938 939 940class DesignLoad(IdNameEntity): 941 def __init__(self, designLoad: _api.DesignLoad): 942 self._Entity = designLoad 943 944 @property 945 def AnalysisTemperature(self) -> DesignLoadSubcaseTemperature: 946 result = self._Entity.AnalysisTemperature 947 return DesignLoadSubcaseTemperature(result) if result is not None else None 948 949 @property 950 def InitialTemperature(self) -> DesignLoadSubcaseTemperature: 951 result = self._Entity.InitialTemperature 952 return DesignLoadSubcaseTemperature(result) if result is not None else None 953 954 @property 955 def Description(self) -> str: 956 return self._Entity.Description 957 958 @property 959 def IsActive(self) -> bool: 960 return self._Entity.IsActive 961 962 @property 963 def IsEditable(self) -> bool: 964 return self._Entity.IsEditable 965 966 @property 967 def IsVirtual(self) -> bool: 968 return self._Entity.IsVirtual 969 970 @property 971 def ModificationDate(self) -> DateTime: 972 return self._Entity.ModificationDate 973 974 @property 975 def SubcaseMultipliers(self) -> DesignLoadSubcaseMultiplierCol: 976 result = self._Entity.SubcaseMultipliers 977 return DesignLoadSubcaseMultiplierCol(result) if result is not None else None 978 979 @property 980 def Types(self) -> list[types.LoadCaseType]: 981 return [types.LoadCaseType[loadCaseType.ToString()] for loadCaseType in self._Entity.Types] 982 983 @property 984 def UID(self) -> Guid: 985 return self._Entity.UID 986 987 988class JointDesignResult(IdEntity): 989 def __init__(self, jointDesignResult: _api.JointDesignResult): 990 self._Entity = jointDesignResult 991 992 993class ZoneDesignResult(IdEntity): 994 def __init__(self, zoneDesignResult: _api.ZoneDesignResult): 995 self._Entity = zoneDesignResult 996 997 @property 998 def VariableParameter(self) -> types.VariableParameter: 999 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 1000 1001 @property 1002 def Value(self) -> float: 1003 return self._Entity.Value 1004 1005 @property 1006 def MaterialId(self) -> int: 1007 return self._Entity.MaterialId 1008 1009 @property 1010 def MaterialType(self) -> types.MaterialType: 1011 return types.MaterialType[self._Entity.MaterialType.ToString()] 1012 1013 1014class Vector3d: 1015 ''' 1016 Represents a readonly 3D vector. 1017 ''' 1018 def __init__(self, vector3d: _api.Vector3d): 1019 self._Entity = vector3d 1020 1021 def Create_Vector3d(x: float, y: float, z: float): 1022 return Vector3d(_api.Vector3d(x, y, z)) 1023 1024 @property 1025 def X(self) -> float: 1026 return self._Entity.X 1027 1028 @property 1029 def Y(self) -> float: 1030 return self._Entity.Y 1031 1032 @property 1033 def Z(self) -> float: 1034 return self._Entity.Z 1035 1036 @overload 1037 def Equals(self, other) -> bool: ... 1038 1039 @overload 1040 def Equals(self, obj) -> bool: ... 1041 1042 def GetHashCode(self) -> int: 1043 return self._Entity.GetHashCode() 1044 1045 def Equals(self, item1 = None) -> bool: 1046 if isinstance(item1, Vector3d): 1047 return self._Entity.Equals(item1._Entity) 1048 1049 return self._Entity.Equals(item1._Entity) 1050 1051 def __eq__(self, other): 1052 return self.Equals(other) 1053 1054 def __ne__(self, other): 1055 return not self.Equals(other) 1056 1057 1058class DiscreteField(IdNameEntityRenameable): 1059 ''' 1060 Represents a table of discrete field data. 1061 ''' 1062 def __init__(self, discreteField: _api.DiscreteField): 1063 self._Entity = discreteField 1064 1065 @property 1066 def Columns(self) -> dict[int, str]: 1067 columnsDict = {} 1068 for kvp in self._Entity.Columns: 1069 columnsDict[int(kvp.Key)] = str(kvp.Value) 1070 1071 return columnsDict 1072 1073 @property 1074 def ColumnCount(self) -> int: 1075 return self._Entity.ColumnCount 1076 1077 @property 1078 def DataType(self) -> types.DiscreteFieldDataType: 1079 ''' 1080 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1081 ''' 1082 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()] 1083 1084 @property 1085 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1086 ''' 1087 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1088 ''' 1089 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()] 1090 1091 @property 1092 def PointIds(self) -> list[Vector3d]: 1093 return [Vector3d(vector3d) for vector3d in self._Entity.PointIds] 1094 1095 @property 1096 def RowCount(self) -> int: 1097 return self._Entity.RowCount 1098 1099 @property 1100 def RowIds(self) -> list[int]: 1101 return [int32 for int32 in self._Entity.RowIds] 1102 1103 def AddColumn(self, name: str) -> int: 1104 return self._Entity.AddColumn(name) 1105 1106 def AddPointRow(self, pointId: Vector3d) -> None: 1107 return self._Entity.AddPointRow(pointId._Entity) 1108 1109 @overload 1110 def ReadNumericCell(self, entityId: int, columnId: int) -> float: ... 1111 1112 @overload 1113 def ReadNumericCell(self, pointId: Vector3d, columnId: int) -> float: ... 1114 1115 @overload 1116 def ReadStringCell(self, entityId: int, columnId: int) -> str: ... 1117 1118 @overload 1119 def ReadStringCell(self, pointId: Vector3d, columnId: int) -> str: ... 1120 1121 def SetColumnName(self, columnId: int, name: str) -> None: 1122 return self._Entity.SetColumnName(columnId, name) 1123 1124 @overload 1125 def SetNumericValue(self, entityId: int, columnId: int, value: float) -> None: ... 1126 1127 @overload 1128 def SetNumericValue(self, pointId: Vector3d, columnId: int, value: float) -> None: ... 1129 1130 @overload 1131 def SetStringValue(self, entityId: int, columnId: int, value: str) -> None: ... 1132 1133 @overload 1134 def SetStringValue(self, pointId: Vector3d, columnId: int, value: str) -> None: ... 1135 1136 def DeleteAllRows(self) -> None: 1137 ''' 1138 Delete all rows for this discrete field. 1139 ''' 1140 return self._Entity.DeleteAllRows() 1141 1142 def DeleteColumn(self, columnId: int) -> None: 1143 return self._Entity.DeleteColumn(columnId) 1144 1145 def DeletePointRow(self, pointId: Vector3d) -> None: 1146 return self._Entity.DeletePointRow(pointId._Entity) 1147 1148 def DeleteRow(self, entityId: int) -> None: 1149 return self._Entity.DeleteRow(entityId) 1150 1151 def DeleteRowsAndColumns(self) -> None: 1152 ''' 1153 Delete all rows and columns for this discrete field. 1154 ''' 1155 return self._Entity.DeleteRowsAndColumns() 1156 1157 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1158 if isinstance(item1, int) and isinstance(item2, int): 1159 return self._Entity.ReadNumericCell(item1, item2) 1160 1161 if isinstance(item1, Vector3d) and isinstance(item2, int): 1162 return self._Entity.ReadNumericCell(item1._Entity, item2) 1163 1164 return self._Entity.ReadNumericCell(item1, item2) 1165 1166 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1167 if isinstance(item1, int) and isinstance(item2, int): 1168 return self._Entity.ReadStringCell(item1, item2) 1169 1170 if isinstance(item1, Vector3d) and isinstance(item2, int): 1171 return self._Entity.ReadStringCell(item1._Entity, item2) 1172 1173 return self._Entity.ReadStringCell(item1, item2) 1174 1175 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1176 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1177 return self._Entity.SetNumericValue(item1, item2, item3) 1178 1179 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1180 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1181 1182 return self._Entity.SetNumericValue(item1, item2, item3) 1183 1184 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1185 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1186 return self._Entity.SetStringValue(item1, item2, item3) 1187 1188 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1189 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1190 1191 return self._Entity.SetStringValue(item1, item2, item3) 1192 1193 1194class Node(IdEntity): 1195 def __init__(self, node: _api.Node): 1196 self._Entity = node 1197 1198 @property 1199 def X(self) -> float: 1200 return self._Entity.X 1201 1202 @property 1203 def Y(self) -> float: 1204 return self._Entity.Y 1205 1206 @property 1207 def Z(self) -> float: 1208 return self._Entity.Z 1209 1210 1211class Centroid: 1212 def __init__(self, centroid: _api.Centroid): 1213 self._Entity = centroid 1214 1215 @property 1216 def X(self) -> float: 1217 return self._Entity.X 1218 1219 @property 1220 def Y(self) -> float: 1221 return self._Entity.Y 1222 1223 @property 1224 def Z(self) -> float: 1225 return self._Entity.Z 1226 1227 1228class Element(IdEntity): 1229 def __init__(self, element: _api.Element): 1230 self._Entity = element 1231 1232 @property 1233 def MarginOfSafety(self) -> float: 1234 return self._Entity.MarginOfSafety 1235 1236 @property 1237 def Centroid(self) -> Centroid: 1238 result = self._Entity.Centroid 1239 return Centroid(result) if result is not None else None 1240 1241 @property 1242 def Nodes(self) -> list[Node]: 1243 return [Node(node) for node in self._Entity.Nodes] 1244 1245 1246class FailureModeCategory(IdNameEntity): 1247 def __init__(self, failureModeCategory: _api.FailureModeCategory): 1248 self._Entity = failureModeCategory 1249 1250 @property 1251 def PackageId(self) -> int: 1252 return self._Entity.PackageId 1253 1254 1255class EntityWithAssignableProperties(IdNameEntityRenameable): 1256 def __init__(self, entityWithAssignableProperties: _api.EntityWithAssignableProperties): 1257 self._Entity = entityWithAssignableProperties 1258 1259 @property 1260 def AssignedAnalysisProperty(self) -> AnalysisProperty: 1261 result = self._Entity.AssignedAnalysisProperty 1262 return AnalysisProperty(result) if result is not None else None 1263 1264 @property 1265 def AssignedDesignProperty(self) -> DesignProperty: 1266 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1267 givenClass = DesignProperty 1268 for subclass in DesignProperty.__subclasses__(): 1269 if subclass.__name__ == thisClass: 1270 givenClass = subclass 1271 result = self._Entity.AssignedDesignProperty 1272 return givenClass(result) if result is not None else None 1273 1274 @property 1275 def AssignedLoadProperty(self) -> LoadProperty: 1276 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1277 givenClass = LoadProperty 1278 for subclass in LoadProperty.__subclasses__(): 1279 if subclass.__name__ == thisClass: 1280 givenClass = subclass 1281 result = self._Entity.AssignedLoadProperty 1282 return givenClass(result) if result is not None else None 1283 1284 def AssignAnalysisProperty(self, id: int) -> PropertyAssignmentStatus: 1285 return PropertyAssignmentStatus[self._Entity.AssignAnalysisProperty(id).ToString()] 1286 1287 def AssignDesignProperty(self, id: int) -> PropertyAssignmentStatus: 1288 return PropertyAssignmentStatus[self._Entity.AssignDesignProperty(id).ToString()] 1289 1290 def AssignLoadProperty(self, id: int) -> PropertyAssignmentStatus: 1291 return PropertyAssignmentStatus[self._Entity.AssignLoadProperty(id).ToString()] 1292 1293 def AssignProperty(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1294 return PropertyAssignmentStatus[self._Entity.AssignProperty(property._Entity).ToString()] 1295 1296 1297class AnalysisResultCol(Generic[T]): 1298 def __init__(self, analysisResultCol: _api.AnalysisResultCol): 1299 self._Entity = analysisResultCol 1300 1301 @property 1302 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1303 if self._Entity.Count() <= 0: 1304 return () 1305 thisClass = type(self._Entity._items[0]).__name__ 1306 givenClass = AnalysisResult 1307 for subclass in AnalysisResult.__subclasses__(): 1308 if subclass.__name__ == thisClass: 1309 givenClass = subclass 1310 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity]) 1311 1312 def Count(self) -> int: 1313 return self._Entity.Count() 1314 1315 def __getitem__(self, index: int): 1316 return self.AnalysisResultColList[index] 1317 1318 def __iter__(self): 1319 yield from self.AnalysisResultColList 1320 1321 def __len__(self): 1322 return len(self.AnalysisResultColList) 1323 1324 1325class ZoneJointEntity(EntityWithAssignableProperties): 1326 ''' 1327 Abstract base for a Zone or Joint. 1328 ''' 1329 def __init__(self, zoneJointEntity: _api.ZoneJointEntity): 1330 self._Entity = zoneJointEntity 1331 1332 @abstractmethod 1333 def GetMinimumMargin(self) -> Margin: 1334 return Margin(self._Entity.GetMinimumMargin()) 1335 1336 @abstractmethod 1337 def GetControllingResult(self) -> AnalysisResult: 1338 result = self._Entity.GetControllingResult() 1339 thisClass = type(result).__name__ 1340 givenClass = AnalysisResult 1341 for subclass in AnalysisResult.__subclasses__(): 1342 if subclass.__name__ == thisClass: 1343 givenClass = subclass 1344 return givenClass(result) 1345 1346 @abstractmethod 1347 def GetAllResults(self) -> AnalysisResultCol: 1348 return AnalysisResultCol(self._Entity.GetAllResults()) 1349 1350 1351class JointDesignResultCol(IdEntityCol[JointDesignResult]): 1352 def __init__(self, jointDesignResultCol: _api.JointDesignResultCol): 1353 self._Entity = jointDesignResultCol 1354 self._CollectedClass = JointDesignResult 1355 1356 @property 1357 def JointDesignResultColList(self) -> tuple[JointDesignResult]: 1358 return tuple([JointDesignResult(jointDesignResultCol) for jointDesignResultCol in self._Entity]) 1359 1360 @overload 1361 def Get(self, jointSelectionId: types.JointSelectionId) -> JointDesignResult: ... 1362 1363 @overload 1364 def Get(self, jointRangeId: types.JointRangeId) -> JointDesignResult: ... 1365 1366 @overload 1367 def Get(self, id: int) -> JointDesignResult: ... 1368 1369 def Get(self, item1 = None) -> JointDesignResult: 1370 if isinstance(item1, types.JointSelectionId): 1371 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1372 thisClass = type(result).__name__ 1373 givenClass = JointDesignResult 1374 for subclass in JointDesignResult.__subclasses__(): 1375 if subclass.__name__ == thisClass: 1376 givenClass = subclass 1377 return givenClass(result) 1378 1379 if isinstance(item1, types.JointRangeId): 1380 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1381 thisClass = type(result).__name__ 1382 givenClass = JointDesignResult 1383 for subclass in JointDesignResult.__subclasses__(): 1384 if subclass.__name__ == thisClass: 1385 givenClass = subclass 1386 return givenClass(result) 1387 1388 if isinstance(item1, int): 1389 return JointDesignResult(super().Get(item1)) 1390 1391 return self._Entity.Get(_types.JointSelectionId(item1.value)) 1392 1393 def __getitem__(self, index: int): 1394 return self.JointDesignResultColList[index] 1395 1396 def __iter__(self): 1397 yield from self.JointDesignResultColList 1398 1399 def __len__(self): 1400 return len(self.JointDesignResultColList) 1401 1402 1403class Joint(ZoneJointEntity): 1404 def __init__(self, joint: _api.Joint): 1405 self._Entity = joint 1406 1407 @property 1408 def JointRangeSizingResults(self) -> JointDesignResultCol: 1409 result = self._Entity.JointRangeSizingResults 1410 return JointDesignResultCol(result) if result is not None else None 1411 1412 @property 1413 def JointSelectionSizingResults(self) -> JointDesignResultCol: 1414 result = self._Entity.JointSelectionSizingResults 1415 return JointDesignResultCol(result) if result is not None else None 1416 1417 def GetAllResults(self) -> AnalysisResultCol: 1418 return AnalysisResultCol(self._Entity.GetAllResults()) 1419 1420 def GetControllingResult(self) -> AnalysisResult: 1421 result = self._Entity.GetControllingResult() 1422 thisClass = type(result).__name__ 1423 givenClass = AnalysisResult 1424 for subclass in AnalysisResult.__subclasses__(): 1425 if subclass.__name__ == thisClass: 1426 givenClass = subclass 1427 return givenClass(result) 1428 1429 def GetMinimumMargin(self) -> Margin: 1430 return Margin(self._Entity.GetMinimumMargin()) 1431 1432 1433class ZoneDesignResultCol(IdEntityCol[ZoneDesignResult]): 1434 def __init__(self, zoneDesignResultCol: _api.ZoneDesignResultCol): 1435 self._Entity = zoneDesignResultCol 1436 self._CollectedClass = ZoneDesignResult 1437 1438 @property 1439 def ZoneDesignResultColList(self) -> tuple[ZoneDesignResult]: 1440 return tuple([ZoneDesignResult(zoneDesignResultCol) for zoneDesignResultCol in self._Entity]) 1441 1442 @overload 1443 def Get(self, parameterId: types.VariableParameter) -> ZoneDesignResult: ... 1444 1445 @overload 1446 def Get(self, id: int) -> ZoneDesignResult: ... 1447 1448 def Get(self, item1 = None) -> ZoneDesignResult: 1449 if isinstance(item1, types.VariableParameter): 1450 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1451 1452 if isinstance(item1, int): 1453 return ZoneDesignResult(super().Get(item1)) 1454 1455 return self._Entity.Get(_types.VariableParameter(item1.value)) 1456 1457 def __getitem__(self, index: int): 1458 return self.ZoneDesignResultColList[index] 1459 1460 def __iter__(self): 1461 yield from self.ZoneDesignResultColList 1462 1463 def __len__(self): 1464 return len(self.ZoneDesignResultColList) 1465 1466 1467class ZoneBase(ZoneJointEntity): 1468 ''' 1469 Abstract for regular Zones and Panel Segments. 1470 ''' 1471 def __init__(self, zoneBase: _api.ZoneBase): 1472 self._Entity = zoneBase 1473 1474 @property 1475 def Centroid(self) -> Centroid: 1476 result = self._Entity.Centroid 1477 return Centroid(result) if result is not None else None 1478 1479 @property 1480 def Id(self) -> int: 1481 return self._Entity.Id 1482 1483 @property 1484 def Weight(self) -> float: 1485 return self._Entity.Weight 1486 1487 @property 1488 def NonOptimumFactor(self) -> float: 1489 return self._Entity.NonOptimumFactor 1490 1491 @property 1492 def AddedWeight(self) -> float: 1493 return self._Entity.AddedWeight 1494 1495 @property 1496 def SuperimposePanel(self) -> bool: 1497 return self._Entity.SuperimposePanel 1498 1499 @property 1500 def BucklingImperfection(self) -> float: 1501 return self._Entity.BucklingImperfection 1502 1503 @property 1504 def IsBeamColumn(self) -> bool: 1505 return self._Entity.IsBeamColumn 1506 1507 @property 1508 def SuperimposeBoundaryCondition(self) -> int: 1509 return self._Entity.SuperimposeBoundaryCondition 1510 1511 @property 1512 def IsZeroOutFeaMoments(self) -> bool: 1513 return self._Entity.IsZeroOutFeaMoments 1514 1515 @property 1516 def IsZeroOutFeaTransverseShears(self) -> bool: 1517 return self._Entity.IsZeroOutFeaTransverseShears 1518 1519 @property 1520 def MechanicalLimit(self) -> float: 1521 return self._Entity.MechanicalLimit 1522 1523 @property 1524 def MechanicalUltimate(self) -> float: 1525 return self._Entity.MechanicalUltimate 1526 1527 @property 1528 def ThermalHelp(self) -> float: 1529 return self._Entity.ThermalHelp 1530 1531 @property 1532 def ThermalHurt(self) -> float: 1533 return self._Entity.ThermalHurt 1534 1535 @property 1536 def FatigueKTSkin(self) -> float: 1537 return self._Entity.FatigueKTSkin 1538 1539 @property 1540 def FatigueKTStiff(self) -> float: 1541 return self._Entity.FatigueKTStiff 1542 1543 @property 1544 def XSpan(self) -> float: 1545 return self._Entity.XSpan 1546 1547 @property 1548 def EARequired(self) -> float: 1549 return self._Entity.EARequired 1550 1551 @property 1552 def EI1Required(self) -> float: 1553 return self._Entity.EI1Required 1554 1555 @property 1556 def EI2Required(self) -> float: 1557 return self._Entity.EI2Required 1558 1559 @property 1560 def GJRequired(self) -> float: 1561 return self._Entity.GJRequired 1562 1563 @property 1564 def EAAuto(self) -> float: 1565 return self._Entity.EAAuto 1566 1567 @property 1568 def EI1Auto(self) -> float: 1569 return self._Entity.EI1Auto 1570 1571 @property 1572 def EI2Auto(self) -> float: 1573 return self._Entity.EI2Auto 1574 1575 @property 1576 def GJAuto(self) -> float: 1577 return self._Entity.GJAuto 1578 1579 @property 1580 def Ex(self) -> float: 1581 return self._Entity.Ex 1582 1583 @property 1584 def Dmid(self) -> float: 1585 return self._Entity.Dmid 1586 1587 @NonOptimumFactor.setter 1588 def NonOptimumFactor(self, value: float) -> None: 1589 self._Entity.NonOptimumFactor = value 1590 1591 @AddedWeight.setter 1592 def AddedWeight(self, value: float) -> None: 1593 self._Entity.AddedWeight = value 1594 1595 @SuperimposePanel.setter 1596 def SuperimposePanel(self, value: bool) -> None: 1597 self._Entity.SuperimposePanel = value 1598 1599 @BucklingImperfection.setter 1600 def BucklingImperfection(self, value: float) -> None: 1601 self._Entity.BucklingImperfection = value 1602 1603 @IsBeamColumn.setter 1604 def IsBeamColumn(self, value: bool) -> None: 1605 self._Entity.IsBeamColumn = value 1606 1607 @SuperimposeBoundaryCondition.setter 1608 def SuperimposeBoundaryCondition(self, value: int) -> None: 1609 self._Entity.SuperimposeBoundaryCondition = value 1610 1611 @IsZeroOutFeaMoments.setter 1612 def IsZeroOutFeaMoments(self, value: bool) -> None: 1613 self._Entity.IsZeroOutFeaMoments = value 1614 1615 @IsZeroOutFeaTransverseShears.setter 1616 def IsZeroOutFeaTransverseShears(self, value: bool) -> None: 1617 self._Entity.IsZeroOutFeaTransverseShears = value 1618 1619 @MechanicalLimit.setter 1620 def MechanicalLimit(self, value: float) -> None: 1621 self._Entity.MechanicalLimit = value 1622 1623 @MechanicalUltimate.setter 1624 def MechanicalUltimate(self, value: float) -> None: 1625 self._Entity.MechanicalUltimate = value 1626 1627 @ThermalHelp.setter 1628 def ThermalHelp(self, value: float) -> None: 1629 self._Entity.ThermalHelp = value 1630 1631 @ThermalHurt.setter 1632 def ThermalHurt(self, value: float) -> None: 1633 self._Entity.ThermalHurt = value 1634 1635 @FatigueKTSkin.setter 1636 def FatigueKTSkin(self, value: float) -> None: 1637 self._Entity.FatigueKTSkin = value 1638 1639 @FatigueKTStiff.setter 1640 def FatigueKTStiff(self, value: float) -> None: 1641 self._Entity.FatigueKTStiff = value 1642 1643 @XSpan.setter 1644 def XSpan(self, value: float) -> None: 1645 self._Entity.XSpan = value 1646 1647 @EARequired.setter 1648 def EARequired(self, value: float) -> None: 1649 self._Entity.EARequired = value 1650 1651 @EI1Required.setter 1652 def EI1Required(self, value: float) -> None: 1653 self._Entity.EI1Required = value 1654 1655 @EI2Required.setter 1656 def EI2Required(self, value: float) -> None: 1657 self._Entity.EI2Required = value 1658 1659 @GJRequired.setter 1660 def GJRequired(self, value: float) -> None: 1661 self._Entity.GJRequired = value 1662 1663 @Ex.setter 1664 def Ex(self, value: float) -> None: 1665 self._Entity.Ex = value 1666 1667 @Dmid.setter 1668 def Dmid(self, value: float) -> None: 1669 self._Entity.Dmid = value 1670 1671 def GetObjectName(self, objectId: types.FamilyObjectUID) -> str: 1672 return self._Entity.GetObjectName(_types.FamilyObjectUID(objectId.value)) 1673 1674 def GetConceptName(self) -> str: 1675 return self._Entity.GetConceptName() 1676 1677 def GetZoneDesignResults(self, solutionId: int = 1) -> ZoneDesignResultCol: 1678 return ZoneDesignResultCol(self._Entity.GetZoneDesignResults(solutionId)) 1679 1680 def RenumberZone(self, newId: int) -> ZoneIdUpdateStatus: 1681 return ZoneIdUpdateStatus[self._Entity.RenumberZone(newId).ToString()] 1682 1683 def GetAllResults(self) -> AnalysisResultCol: 1684 return AnalysisResultCol(self._Entity.GetAllResults()) 1685 1686 def GetControllingResult(self) -> AnalysisResult: 1687 result = self._Entity.GetControllingResult() 1688 thisClass = type(result).__name__ 1689 givenClass = AnalysisResult 1690 for subclass in AnalysisResult.__subclasses__(): 1691 if subclass.__name__ == thisClass: 1692 givenClass = subclass 1693 return givenClass(result) 1694 1695 def GetMinimumMargin(self) -> Margin: 1696 return Margin(self._Entity.GetMinimumMargin()) 1697 1698 1699class ElementCol(IdEntityCol[Element]): 1700 def __init__(self, elementCol: _api.ElementCol): 1701 self._Entity = elementCol 1702 self._CollectedClass = Element 1703 1704 @property 1705 def ElementColList(self) -> tuple[Element]: 1706 return tuple([Element(elementCol) for elementCol in self._Entity]) 1707 1708 def __getitem__(self, index: int): 1709 return self.ElementColList[index] 1710 1711 def __iter__(self): 1712 yield from self.ElementColList 1713 1714 def __len__(self): 1715 return len(self.ElementColList) 1716 1717 1718class PanelSegment(ZoneBase): 1719 def __init__(self, panelSegment: _api.PanelSegment): 1720 self._Entity = panelSegment 1721 1722 @property 1723 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1724 elementsByObjectOrSkinDict = {} 1725 for kvp in self._Entity.ElementsByObjectOrSkin: 1726 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1727 1728 return elementsByObjectOrSkinDict 1729 1730 @property 1731 def Skins(self) -> tuple[types.DiscreteDefinitionType]: 1732 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Skins]) 1733 1734 @property 1735 def Objects(self) -> tuple[types.DiscreteDefinitionType]: 1736 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Objects]) 1737 1738 @property 1739 def DiscreteTechnique(self) -> types.DiscreteTechnique: 1740 return types.DiscreteTechnique[self._Entity.DiscreteTechnique.ToString()] 1741 1742 @property 1743 def LeftSkinZoneId(self) -> int: 1744 return self._Entity.LeftSkinZoneId 1745 1746 @property 1747 def RightSkinZoneId(self) -> int: 1748 return self._Entity.RightSkinZoneId 1749 1750 def GetElements(self, discreteDefinitionType: types.DiscreteDefinitionType) -> ElementCol: 1751 return ElementCol(self._Entity.GetElements(_types.DiscreteDefinitionType(discreteDefinitionType.value))) 1752 1753 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1754 elementIdsList = MakeCSharpIntList(elementIds) 1755 elementIdsEnumerable = IEnumerable(elementIdsList) 1756 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable) 1757 1758 1759class Zone(ZoneBase): 1760 ''' 1761 Abstract for regular Zones (not Panel Segments). 1762 ''' 1763 def __init__(self, zone: _api.Zone): 1764 self._Entity = zone 1765 1766 @property 1767 def Elements(self) -> ElementCol: 1768 result = self._Entity.Elements 1769 return ElementCol(result) if result is not None else None 1770 1771 def AddElements(self, elementIds: tuple[int]) -> None: 1772 elementIdsList = MakeCSharpIntList(elementIds) 1773 elementIdsEnumerable = IEnumerable(elementIdsList) 1774 return self._Entity.AddElements(elementIdsEnumerable) 1775 1776 1777class EntityWithAssignablePropertiesCol(IdNameEntityCol, Generic[T]): 1778 def __init__(self, entityWithAssignablePropertiesCol: _api.EntityWithAssignablePropertiesCol): 1779 self._Entity = entityWithAssignablePropertiesCol 1780 self._CollectedClass = T 1781 1782 @property 1783 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1784 if self._Entity.Count() <= 0: 1785 return () 1786 thisClass = type(self._Entity._items[0]).__name__ 1787 givenClass = T 1788 for subclass in T.__subclasses__(): 1789 if subclass.__name__ == thisClass: 1790 givenClass = subclass 1791 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity]) 1792 1793 def AssignPropertyToAll(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1794 return PropertyAssignmentStatus[self._Entity.AssignPropertyToAll(property._Entity).ToString()] 1795 1796 @overload 1797 def Get(self, name: str) -> T: ... 1798 1799 @overload 1800 def Get(self, id: int) -> T: ... 1801 1802 def Get(self, item1 = None) -> T: 1803 if isinstance(item1, str): 1804 return super().Get(item1) 1805 1806 if isinstance(item1, int): 1807 return super().Get(item1) 1808 1809 return self._Entity.Get(item1) 1810 1811 def __getitem__(self, index: int): 1812 return self.EntityWithAssignablePropertiesColList[index] 1813 1814 def __iter__(self): 1815 yield from self.EntityWithAssignablePropertiesColList 1816 1817 def __len__(self): 1818 return len(self.EntityWithAssignablePropertiesColList) 1819 1820 1821class JointCol(EntityWithAssignablePropertiesCol[Joint]): 1822 def __init__(self, jointCol: _api.JointCol): 1823 self._Entity = jointCol 1824 self._CollectedClass = Joint 1825 1826 @property 1827 def JointColList(self) -> tuple[Joint]: 1828 return tuple([Joint(jointCol) for jointCol in self._Entity]) 1829 1830 @overload 1831 def Get(self, name: str) -> Joint: ... 1832 1833 @overload 1834 def Get(self, id: int) -> Joint: ... 1835 1836 def Get(self, item1 = None) -> Joint: 1837 if isinstance(item1, str): 1838 return Joint(super().Get(item1)) 1839 1840 if isinstance(item1, int): 1841 return Joint(super().Get(item1)) 1842 1843 return self._Entity.Get(item1) 1844 1845 def __getitem__(self, index: int): 1846 return self.JointColList[index] 1847 1848 def __iter__(self): 1849 yield from self.JointColList 1850 1851 def __len__(self): 1852 return len(self.JointColList) 1853 1854 1855class PanelSegmentCol(EntityWithAssignablePropertiesCol[PanelSegment]): 1856 def __init__(self, panelSegmentCol: _api.PanelSegmentCol): 1857 self._Entity = panelSegmentCol 1858 self._CollectedClass = PanelSegment 1859 1860 @property 1861 def PanelSegmentColList(self) -> tuple[PanelSegment]: 1862 return tuple([PanelSegment(panelSegmentCol) for panelSegmentCol in self._Entity]) 1863 1864 @overload 1865 def Get(self, name: str) -> PanelSegment: ... 1866 1867 @overload 1868 def Get(self, id: int) -> PanelSegment: ... 1869 1870 def Get(self, item1 = None) -> PanelSegment: 1871 if isinstance(item1, str): 1872 return PanelSegment(super().Get(item1)) 1873 1874 if isinstance(item1, int): 1875 return PanelSegment(super().Get(item1)) 1876 1877 return self._Entity.Get(item1) 1878 1879 def __getitem__(self, index: int): 1880 return self.PanelSegmentColList[index] 1881 1882 def __iter__(self): 1883 yield from self.PanelSegmentColList 1884 1885 def __len__(self): 1886 return len(self.PanelSegmentColList) 1887 1888 1889class ZoneCol(EntityWithAssignablePropertiesCol[Zone]): 1890 def __init__(self, zoneCol: _api.ZoneCol): 1891 self._Entity = zoneCol 1892 self._CollectedClass = Zone 1893 1894 @property 1895 def ZoneColList(self) -> tuple[Zone]: 1896 return tuple([Zone(zoneCol) for zoneCol in self._Entity]) 1897 1898 @overload 1899 def Get(self, name: str) -> Zone: ... 1900 1901 @overload 1902 def Get(self, id: int) -> Zone: ... 1903 1904 def Get(self, item1 = None) -> Zone: 1905 if isinstance(item1, str): 1906 return Zone(super().Get(item1)) 1907 1908 if isinstance(item1, int): 1909 return Zone(super().Get(item1)) 1910 1911 return self._Entity.Get(item1) 1912 1913 def __getitem__(self, index: int): 1914 return self.ZoneColList[index] 1915 1916 def __iter__(self): 1917 yield from self.ZoneColList 1918 1919 def __len__(self): 1920 return len(self.ZoneColList) 1921 1922 1923class ZoneJointContainer(IdNameEntityRenameable): 1924 ''' 1925 Represents an entity that contains a collection of Zones and Joints. 1926 ''' 1927 def __init__(self, zoneJointContainer: _api.ZoneJointContainer): 1928 self._Entity = zoneJointContainer 1929 1930 @property 1931 def Centroid(self) -> Centroid: 1932 result = self._Entity.Centroid 1933 return Centroid(result) if result is not None else None 1934 1935 @property 1936 def Joints(self) -> JointCol: 1937 result = self._Entity.Joints 1938 return JointCol(result) if result is not None else None 1939 1940 @property 1941 def PanelSegments(self) -> PanelSegmentCol: 1942 result = self._Entity.PanelSegments 1943 return PanelSegmentCol(result) if result is not None else None 1944 1945 @property 1946 def TotalBeamLength(self) -> float: 1947 return self._Entity.TotalBeamLength 1948 1949 @property 1950 def TotalPanelArea(self) -> float: 1951 return self._Entity.TotalPanelArea 1952 1953 @property 1954 def TotalZoneWeight(self) -> float: 1955 return self._Entity.TotalZoneWeight 1956 1957 @property 1958 def Zones(self) -> ZoneCol: 1959 result = self._Entity.Zones 1960 return ZoneCol(result) if result is not None else None 1961 1962 @overload 1963 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 1964 1965 @overload 1966 @abstractmethod 1967 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 1968 1969 @overload 1970 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 1971 1972 @overload 1973 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 1974 1975 @overload 1976 @abstractmethod 1977 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 1978 1979 @overload 1980 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 1981 1982 @overload 1983 def AddZone(self, id: int) -> CollectionModificationStatus: ... 1984 1985 @overload 1986 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 1987 1988 @overload 1989 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 1990 1991 @overload 1992 @abstractmethod 1993 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 1994 1995 @overload 1996 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 1997 1998 @overload 1999 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 2000 2001 @overload 2002 @abstractmethod 2003 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 2004 2005 @overload 2006 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 2007 2008 @overload 2009 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 2010 2011 @overload 2012 @abstractmethod 2013 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2014 2015 @overload 2016 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 2017 2018 @overload 2019 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2020 2021 @overload 2022 @abstractmethod 2023 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 2024 2025 @overload 2026 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 2027 2028 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2029 if isinstance(item1, int): 2030 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2031 2032 if isinstance(item1, Joint): 2033 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2034 2035 return self._Entity.AddJoint(item1) 2036 2037 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2038 if isinstance(item1, int): 2039 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2040 2041 if isinstance(item1, Joint): 2042 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2043 2044 return self._Entity.RemoveJoint(item1) 2045 2046 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2047 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2048 jointIdsList = MakeCSharpIntList(item1) 2049 jointIdsEnumerable = IEnumerable(jointIdsList) 2050 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2051 2052 if isinstance(item1, JointCol): 2053 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2054 2055 return self._Entity.RemoveJoints(item1) 2056 2057 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2058 if isinstance(item1, int): 2059 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2060 2061 if isinstance(item1, Zone): 2062 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2063 2064 return self._Entity.AddZone(item1) 2065 2066 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2067 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2068 idsList = MakeCSharpIntList(item1) 2069 idsEnumerable = IEnumerable(idsList) 2070 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2071 2072 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 2073 zonesList = List[_api.Zone]() 2074 if item1 is not None: 2075 for thing in item1: 2076 if thing is not None: 2077 zonesList.Add(thing._Entity) 2078 zonesEnumerable = IEnumerable(zonesList) 2079 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2080 2081 return self._Entity.AddZones(item1) 2082 2083 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2084 if isinstance(item1, int): 2085 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2086 2087 if isinstance(item1, Zone): 2088 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2089 2090 return self._Entity.RemoveZone(item1) 2091 2092 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2093 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2094 zoneIdsList = MakeCSharpIntList(item1) 2095 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2096 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2097 2098 if isinstance(item1, ZoneCol): 2099 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2100 2101 return self._Entity.RemoveZones(item1) 2102 2103 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2104 if isinstance(item1, int): 2105 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2106 2107 if isinstance(item1, PanelSegment): 2108 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2109 2110 return self._Entity.AddPanelSegment(item1) 2111 2112 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2113 if isinstance(item1, int): 2114 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2115 2116 if isinstance(item1, PanelSegment): 2117 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2118 2119 return self._Entity.RemovePanelSegment(item1) 2120 2121 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2122 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2123 segmentIdsList = MakeCSharpIntList(item1) 2124 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2125 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2126 2127 if isinstance(item1, PanelSegmentCol): 2128 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2129 2130 return self._Entity.RemovePanelSegments(item1) 2131 2132 2133class AutomatedConstraint(IdNameEntityRenameable): 2134 def __init__(self, automatedConstraint: _api.AutomatedConstraint): 2135 self._Entity = automatedConstraint 2136 2137 @property 2138 def ConstraintType(self) -> types.StiffnessCriteriaType: 2139 return types.StiffnessCriteriaType[self._Entity.ConstraintType.ToString()] 2140 2141 @property 2142 def Set(self) -> str: 2143 return self._Entity.Set 2144 2145 @property 2146 def DesignLoadCases(self) -> list[str]: 2147 return [string for string in self._Entity.DesignLoadCases] 2148 2149 @Set.setter 2150 def Set(self, value: str) -> None: 2151 self._Entity.Set = value 2152 2153 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2154 designLoadCasesList = List[str]() 2155 if designLoadCases is not None: 2156 for thing in designLoadCases: 2157 if thing is not None: 2158 designLoadCasesList.Add(thing) 2159 return self._Entity.AddDesignLoadCases(designLoadCasesList) 2160 2161 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2162 designLoadCasesList = List[str]() 2163 if designLoadCases is not None: 2164 for thing in designLoadCases: 2165 if thing is not None: 2166 designLoadCasesList.Add(thing) 2167 return self._Entity.RemoveDesignLoadCases(designLoadCasesList) 2168 2169 2170class ModalAutomatedConstraint(AutomatedConstraint): 2171 def __init__(self, modalAutomatedConstraint: _api.ModalAutomatedConstraint): 2172 self._Entity = modalAutomatedConstraint 2173 2174 @property 2175 def Eigenvalue(self) -> float: 2176 return self._Entity.Eigenvalue 2177 2178 @Eigenvalue.setter 2179 def Eigenvalue(self, value: float) -> None: 2180 self._Entity.Eigenvalue = value 2181 2182 2183class BucklingAutomatedConstraint(ModalAutomatedConstraint): 2184 def __init__(self, bucklingAutomatedConstraint: _api.BucklingAutomatedConstraint): 2185 self._Entity = bucklingAutomatedConstraint 2186 2187 2188class StaticAutomatedConstraint(AutomatedConstraint): 2189 def __init__(self, staticAutomatedConstraint: _api.StaticAutomatedConstraint): 2190 self._Entity = staticAutomatedConstraint 2191 2192 @property 2193 def VirtualDesignLoad(self) -> str: 2194 return self._Entity.VirtualDesignLoad 2195 2196 @property 2197 def GridId(self) -> int: 2198 return self._Entity.GridId 2199 2200 @property 2201 def Orientation(self) -> types.DisplacementShapeType: 2202 return types.DisplacementShapeType[self._Entity.Orientation.ToString()] 2203 2204 @property 2205 def HasVector(self) -> bool: 2206 return self._Entity.HasVector 2207 2208 @property 2209 def X(self) -> float: 2210 return self._Entity.X 2211 2212 @property 2213 def Y(self) -> float: 2214 return self._Entity.Y 2215 2216 @property 2217 def Z(self) -> float: 2218 return self._Entity.Z 2219 2220 @VirtualDesignLoad.setter 2221 def VirtualDesignLoad(self, value: str) -> None: 2222 self._Entity.VirtualDesignLoad = value 2223 2224 @GridId.setter 2225 def GridId(self, value: int) -> None: 2226 self._Entity.GridId = value 2227 2228 @Orientation.setter 2229 def Orientation(self, value: types.DisplacementShapeType) -> None: 2230 self._Entity.Orientation = _types.DisplacementShapeType(value.value) 2231 2232 @X.setter 2233 def X(self, value: float) -> None: 2234 self._Entity.X = value 2235 2236 @Y.setter 2237 def Y(self, value: float) -> None: 2238 self._Entity.Y = value 2239 2240 @Z.setter 2241 def Z(self, value: float) -> None: 2242 self._Entity.Z = value 2243 2244 2245class DisplacementAutomatedConstraint(StaticAutomatedConstraint): 2246 def __init__(self, displacementAutomatedConstraint: _api.DisplacementAutomatedConstraint): 2247 self._Entity = displacementAutomatedConstraint 2248 2249 @property 2250 def Limit(self) -> float: 2251 return self._Entity.Limit 2252 2253 @Limit.setter 2254 def Limit(self, value: float) -> None: 2255 self._Entity.Limit = value 2256 2257 2258class FrequencyAutomatedConstraint(ModalAutomatedConstraint): 2259 def __init__(self, frequencyAutomatedConstraint: _api.FrequencyAutomatedConstraint): 2260 self._Entity = frequencyAutomatedConstraint 2261 2262 2263class RotationAutomatedConstraint(StaticAutomatedConstraint): 2264 def __init__(self, rotationAutomatedConstraint: _api.RotationAutomatedConstraint): 2265 self._Entity = rotationAutomatedConstraint 2266 2267 @property 2268 def Limit(self) -> float: 2269 return self._Entity.Limit 2270 2271 @Limit.setter 2272 def Limit(self, value: float) -> None: 2273 self._Entity.Limit = value 2274 2275 2276class ManualConstraint(IdNameEntityRenameable): 2277 def __init__(self, manualConstraint: _api.ManualConstraint): 2278 self._Entity = manualConstraint 2279 2280 @property 2281 def ConstraintType(self) -> types.ConstraintType: 2282 return types.ConstraintType[self._Entity.ConstraintType.ToString()] 2283 2284 @property 2285 def Set(self) -> str: 2286 return self._Entity.Set 2287 2288 @property 2289 def Limit(self) -> float: 2290 return self._Entity.Limit 2291 2292 @property 2293 def A11(self) -> bool: 2294 return self._Entity.A11 2295 2296 @property 2297 def A22(self) -> bool: 2298 return self._Entity.A22 2299 2300 @property 2301 def A33(self) -> bool: 2302 return self._Entity.A33 2303 2304 @property 2305 def D11(self) -> bool: 2306 return self._Entity.D11 2307 2308 @property 2309 def D22(self) -> bool: 2310 return self._Entity.D22 2311 2312 @property 2313 def D33(self) -> bool: 2314 return self._Entity.D33 2315 2316 @property 2317 def EA(self) -> bool: 2318 return self._Entity.EA 2319 2320 @property 2321 def EI1(self) -> bool: 2322 return self._Entity.EI1 2323 2324 @property 2325 def EI2(self) -> bool: 2326 return self._Entity.EI2 2327 2328 @property 2329 def GJ(self) -> bool: 2330 return self._Entity.GJ 2331 2332 @property 2333 def IsActive(self) -> bool: 2334 return self._Entity.IsActive 2335 2336 @Set.setter 2337 def Set(self, value: str) -> None: 2338 self._Entity.Set = value 2339 2340 @Limit.setter 2341 def Limit(self, value: float) -> None: 2342 self._Entity.Limit = value 2343 2344 @A11.setter 2345 def A11(self, value: bool) -> None: 2346 self._Entity.A11 = value 2347 2348 @A22.setter 2349 def A22(self, value: bool) -> None: 2350 self._Entity.A22 = value 2351 2352 @A33.setter 2353 def A33(self, value: bool) -> None: 2354 self._Entity.A33 = value 2355 2356 @D11.setter 2357 def D11(self, value: bool) -> None: 2358 self._Entity.D11 = value 2359 2360 @D22.setter 2361 def D22(self, value: bool) -> None: 2362 self._Entity.D22 = value 2363 2364 @D33.setter 2365 def D33(self, value: bool) -> None: 2366 self._Entity.D33 = value 2367 2368 @EA.setter 2369 def EA(self, value: bool) -> None: 2370 self._Entity.EA = value 2371 2372 @EI1.setter 2373 def EI1(self, value: bool) -> None: 2374 self._Entity.EI1 = value 2375 2376 @EI2.setter 2377 def EI2(self, value: bool) -> None: 2378 self._Entity.EI2 = value 2379 2380 @GJ.setter 2381 def GJ(self, value: bool) -> None: 2382 self._Entity.GJ = value 2383 2384 @IsActive.setter 2385 def IsActive(self, value: bool) -> None: 2386 self._Entity.IsActive = value 2387 2388 2389class ManualConstraintWithDesignLoad(ManualConstraint): 2390 def __init__(self, manualConstraintWithDesignLoad: _api.ManualConstraintWithDesignLoad): 2391 self._Entity = manualConstraintWithDesignLoad 2392 2393 @property 2394 def UseAllDesignLoads(self) -> bool: 2395 return self._Entity.UseAllDesignLoads 2396 2397 @property 2398 def DesignLoadCase(self) -> str: 2399 return self._Entity.DesignLoadCase 2400 2401 @UseAllDesignLoads.setter 2402 def UseAllDesignLoads(self, value: bool) -> None: 2403 self._Entity.UseAllDesignLoads = value 2404 2405 @DesignLoadCase.setter 2406 def DesignLoadCase(self, value: str) -> None: 2407 self._Entity.DesignLoadCase = value 2408 2409 2410class BucklingManualConstraint(ManualConstraintWithDesignLoad): 2411 def __init__(self, bucklingManualConstraint: _api.BucklingManualConstraint): 2412 self._Entity = bucklingManualConstraint 2413 2414 2415class DisplacementManualConstraint(ManualConstraintWithDesignLoad): 2416 def __init__(self, displacementManualConstraint: _api.DisplacementManualConstraint): 2417 self._Entity = displacementManualConstraint 2418 2419 @property 2420 def DOF(self) -> types.DegreeOfFreedom: 2421 return types.DegreeOfFreedom[self._Entity.DOF.ToString()] 2422 2423 @property 2424 def Nodes(self) -> list[int]: 2425 return [int32 for int32 in self._Entity.Nodes] 2426 2427 @property 2428 def RefNodes(self) -> list[int]: 2429 return [int32 for int32 in self._Entity.RefNodes] 2430 2431 @DOF.setter 2432 def DOF(self, value: types.DegreeOfFreedom) -> None: 2433 self._Entity.DOF = _types.DegreeOfFreedom(value.value) 2434 2435 def AddNodes(self, ids: list[int]) -> None: 2436 idsList = MakeCSharpIntList(ids) 2437 return self._Entity.AddNodes(idsList) 2438 2439 def RemoveNodes(self, ids: list[int]) -> None: 2440 idsList = MakeCSharpIntList(ids) 2441 return self._Entity.RemoveNodes(idsList) 2442 2443 def AddRefNodes(self, ids: list[int]) -> None: 2444 idsList = MakeCSharpIntList(ids) 2445 return self._Entity.AddRefNodes(idsList) 2446 2447 def RemoveRefNodes(self, ids: list[int]) -> None: 2448 idsList = MakeCSharpIntList(ids) 2449 return self._Entity.RemoveRefNodes(idsList) 2450 2451 2452class FrequencyManualConstraint(ManualConstraintWithDesignLoad): 2453 def __init__(self, frequencyManualConstraint: _api.FrequencyManualConstraint): 2454 self._Entity = frequencyManualConstraint 2455 2456 2457class StaticMomentManualConstraint(ManualConstraint): 2458 def __init__(self, staticMomentManualConstraint: _api.StaticMomentManualConstraint): 2459 self._Entity = staticMomentManualConstraint 2460 2461 2462class AutomatedConstraintCol(IdNameEntityCol[AutomatedConstraint]): 2463 def __init__(self, automatedConstraintCol: _api.AutomatedConstraintCol): 2464 self._Entity = automatedConstraintCol 2465 self._CollectedClass = AutomatedConstraint 2466 2467 @property 2468 def AutomatedConstraintColList(self) -> tuple[AutomatedConstraint]: 2469 return tuple([AutomatedConstraint(automatedConstraintCol) for automatedConstraintCol in self._Entity]) 2470 2471 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2472 designLoadsList = List[str]() 2473 if designLoads is not None: 2474 for thing in designLoads: 2475 if thing is not None: 2476 designLoadsList.Add(thing) 2477 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name)) 2478 2479 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2480 designLoadsList = List[str]() 2481 if designLoads is not None: 2482 for thing in designLoads: 2483 if thing is not None: 2484 designLoadsList.Add(thing) 2485 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name)) 2486 2487 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2488 designLoadsList = List[str]() 2489 if designLoads is not None: 2490 for thing in designLoads: 2491 if thing is not None: 2492 designLoadsList.Add(thing) 2493 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name)) 2494 2495 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2496 designLoadsList = List[str]() 2497 if designLoads is not None: 2498 for thing in designLoads: 2499 if thing is not None: 2500 designLoadsList.Add(thing) 2501 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name)) 2502 2503 @overload 2504 def Delete(self, id: int) -> bool: ... 2505 2506 @overload 2507 def Delete(self, name: str) -> bool: ... 2508 2509 @overload 2510 def GetBuckling(self, id: int) -> BucklingAutomatedConstraint: ... 2511 2512 @overload 2513 def GetBuckling(self, name: str) -> BucklingAutomatedConstraint: ... 2514 2515 @overload 2516 def GetFrequency(self, id: int) -> FrequencyAutomatedConstraint: ... 2517 2518 @overload 2519 def GetFrequency(self, name: str) -> FrequencyAutomatedConstraint: ... 2520 2521 @overload 2522 def GetRotation(self, id: int) -> RotationAutomatedConstraint: ... 2523 2524 @overload 2525 def GetRotation(self, name: str) -> RotationAutomatedConstraint: ... 2526 2527 @overload 2528 def GetDisplacement(self, id: int) -> DisplacementAutomatedConstraint: ... 2529 2530 @overload 2531 def GetDisplacement(self, name: str) -> DisplacementAutomatedConstraint: ... 2532 2533 @overload 2534 def Get(self, name: str) -> AutomatedConstraint: ... 2535 2536 @overload 2537 def Get(self, id: int) -> AutomatedConstraint: ... 2538 2539 def Delete(self, item1 = None) -> bool: 2540 if isinstance(item1, int): 2541 return self._Entity.Delete(item1) 2542 2543 if isinstance(item1, str): 2544 return self._Entity.Delete(item1) 2545 2546 return self._Entity.Delete(item1) 2547 2548 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2549 if isinstance(item1, int): 2550 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2551 2552 if isinstance(item1, str): 2553 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2554 2555 return self._Entity.GetBuckling(item1) 2556 2557 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2558 if isinstance(item1, int): 2559 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2560 2561 if isinstance(item1, str): 2562 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2563 2564 return self._Entity.GetFrequency(item1) 2565 2566 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2567 if isinstance(item1, int): 2568 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2569 2570 if isinstance(item1, str): 2571 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2572 2573 return self._Entity.GetRotation(item1) 2574 2575 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2576 if isinstance(item1, int): 2577 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2578 2579 if isinstance(item1, str): 2580 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2581 2582 return self._Entity.GetDisplacement(item1) 2583 2584 def Get(self, item1 = None) -> AutomatedConstraint: 2585 if isinstance(item1, str): 2586 return AutomatedConstraint(super().Get(item1)) 2587 2588 if isinstance(item1, int): 2589 return AutomatedConstraint(super().Get(item1)) 2590 2591 return self._Entity.Get(item1) 2592 2593 def __getitem__(self, index: int): 2594 return self.AutomatedConstraintColList[index] 2595 2596 def __iter__(self): 2597 yield from self.AutomatedConstraintColList 2598 2599 def __len__(self): 2600 return len(self.AutomatedConstraintColList) 2601 2602 2603class ManualConstraintCol(IdNameEntityCol[ManualConstraint]): 2604 def __init__(self, manualConstraintCol: _api.ManualConstraintCol): 2605 self._Entity = manualConstraintCol 2606 self._CollectedClass = ManualConstraint 2607 2608 @property 2609 def ManualConstraintColList(self) -> tuple[ManualConstraint]: 2610 return tuple([ManualConstraint(manualConstraintCol) for manualConstraintCol in self._Entity]) 2611 2612 @overload 2613 def GetFrequency(self, id: int) -> FrequencyManualConstraint: ... 2614 2615 @overload 2616 def GetFrequency(self, name: str) -> FrequencyManualConstraint: ... 2617 2618 @overload 2619 def GetBuckling(self, id: int) -> BucklingManualConstraint: ... 2620 2621 @overload 2622 def GetBuckling(self, name: str) -> BucklingManualConstraint: ... 2623 2624 @overload 2625 def GetDisplacement(self, id: int) -> DisplacementManualConstraint: ... 2626 2627 @overload 2628 def GetDisplacement(self, name: str) -> DisplacementManualConstraint: ... 2629 2630 @overload 2631 def GetStaticMoment(self, id: int) -> StaticMomentManualConstraint: ... 2632 2633 @overload 2634 def GetStaticMoment(self, name: str) -> StaticMomentManualConstraint: ... 2635 2636 def AddFrequencyConstraint(self, setName: str, limit: float, name: str = None) -> FrequencyManualConstraint: 2637 return FrequencyManualConstraint(self._Entity.AddFrequencyConstraint(setName, limit, name)) 2638 2639 def AddBucklingConstraint(self, setName: str, limit: float, name: str = None) -> BucklingManualConstraint: 2640 return BucklingManualConstraint(self._Entity.AddBucklingConstraint(setName, limit, name)) 2641 2642 def AddStaticMomentManualConstraint(self, setName: str, limit: float, name: str = None) -> StaticMomentManualConstraint: 2643 return StaticMomentManualConstraint(self._Entity.AddStaticMomentManualConstraint(setName, limit, name)) 2644 2645 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2646 gridIdsList = MakeCSharpIntList(gridIds) 2647 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name)) 2648 2649 @overload 2650 def DeleteConstraint(self, name: str) -> bool: ... 2651 2652 @overload 2653 def DeleteConstraint(self, id: int) -> bool: ... 2654 2655 @overload 2656 def Get(self, name: str) -> ManualConstraint: ... 2657 2658 @overload 2659 def Get(self, id: int) -> ManualConstraint: ... 2660 2661 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2662 if isinstance(item1, int): 2663 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2664 2665 if isinstance(item1, str): 2666 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2667 2668 return self._Entity.GetFrequency(item1) 2669 2670 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2671 if isinstance(item1, int): 2672 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2673 2674 if isinstance(item1, str): 2675 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2676 2677 return self._Entity.GetBuckling(item1) 2678 2679 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2680 if isinstance(item1, int): 2681 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2682 2683 if isinstance(item1, str): 2684 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2685 2686 return self._Entity.GetDisplacement(item1) 2687 2688 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2689 if isinstance(item1, int): 2690 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2691 2692 if isinstance(item1, str): 2693 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2694 2695 return self._Entity.GetStaticMoment(item1) 2696 2697 def DeleteConstraint(self, item1 = None) -> bool: 2698 if isinstance(item1, str): 2699 return self._Entity.DeleteConstraint(item1) 2700 2701 if isinstance(item1, int): 2702 return self._Entity.DeleteConstraint(item1) 2703 2704 return self._Entity.DeleteConstraint(item1) 2705 2706 def Get(self, item1 = None) -> ManualConstraint: 2707 if isinstance(item1, str): 2708 return ManualConstraint(super().Get(item1)) 2709 2710 if isinstance(item1, int): 2711 return ManualConstraint(super().Get(item1)) 2712 2713 return self._Entity.Get(item1) 2714 2715 def __getitem__(self, index: int): 2716 return self.ManualConstraintColList[index] 2717 2718 def __iter__(self): 2719 yield from self.ManualConstraintColList 2720 2721 def __len__(self): 2722 return len(self.ManualConstraintColList) 2723 2724 2725class HyperFea: 2726 def __init__(self, hyperFea: _api.HyperFea): 2727 self._Entity = hyperFea 2728 2729 @property 2730 def ManualConstraints(self) -> ManualConstraintCol: 2731 result = self._Entity.ManualConstraints 2732 return ManualConstraintCol(result) if result is not None else None 2733 2734 @property 2735 def AutomatedConstraints(self) -> AutomatedConstraintCol: 2736 result = self._Entity.AutomatedConstraints 2737 return AutomatedConstraintCol(result) if result is not None else None 2738 2739 def RunIterations(self, numberOfIterations: int, startWithSizing: bool, deleteElementOptimizationPlies: bool) -> None: 2740 return self._Entity.RunIterations(numberOfIterations, startWithSizing, deleteElementOptimizationPlies) 2741 2742 def SetupSolver(self, solverPath: str, arguments: str) -> types.SimpleStatus: 2743 return types.SimpleStatus(self._Entity.SetupSolver(solverPath, arguments)) 2744 2745 def TestSolver(self) -> types.SimpleStatus: 2746 ''' 2747 Test FEA solver setup. 2748 ''' 2749 return types.SimpleStatus(self._Entity.TestSolver()) 2750 2751 def GetSolverSetup(self) -> types.HyperFeaSolver: 2752 ''' 2753 Get the current FEA solver setup. 2754 ''' 2755 return types.HyperFeaSolver(self._Entity.GetSolverSetup()) 2756 2757 2758class FoamTemperature: 2759 ''' 2760 Foam material temperature dependent properties. 2761 ''' 2762 def __init__(self, foamTemperature: _api.FoamTemperature): 2763 self._Entity = foamTemperature 2764 2765 @property 2766 def Temperature(self) -> float: 2767 return self._Entity.Temperature 2768 2769 @property 2770 def Et(self) -> float: 2771 return self._Entity.Et 2772 2773 @property 2774 def Ec(self) -> float: 2775 return self._Entity.Ec 2776 2777 @property 2778 def G(self) -> float: 2779 return self._Entity.G 2780 2781 @property 2782 def Ef(self) -> float: 2783 return self._Entity.Ef 2784 2785 @property 2786 def Ftu(self) -> float: 2787 return self._Entity.Ftu 2788 2789 @property 2790 def Fcu(self) -> float: 2791 return self._Entity.Fcu 2792 2793 @property 2794 def Fsu(self) -> float: 2795 return self._Entity.Fsu 2796 2797 @property 2798 def Ffu(self) -> float: 2799 return self._Entity.Ffu 2800 2801 @property 2802 def K(self) -> float: 2803 return self._Entity.K 2804 2805 @property 2806 def C(self) -> float: 2807 return self._Entity.C 2808 2809 @Temperature.setter 2810 def Temperature(self, value: float) -> None: 2811 self._Entity.Temperature = value 2812 2813 @Et.setter 2814 def Et(self, value: float) -> None: 2815 self._Entity.Et = value 2816 2817 @Ec.setter 2818 def Ec(self, value: float) -> None: 2819 self._Entity.Ec = value 2820 2821 @G.setter 2822 def G(self, value: float) -> None: 2823 self._Entity.G = value 2824 2825 @Ef.setter 2826 def Ef(self, value: float) -> None: 2827 self._Entity.Ef = value 2828 2829 @Ftu.setter 2830 def Ftu(self, value: float) -> None: 2831 self._Entity.Ftu = value 2832 2833 @Fcu.setter 2834 def Fcu(self, value: float) -> None: 2835 self._Entity.Fcu = value 2836 2837 @Fsu.setter 2838 def Fsu(self, value: float) -> None: 2839 self._Entity.Fsu = value 2840 2841 @Ffu.setter 2842 def Ffu(self, value: float) -> None: 2843 self._Entity.Ffu = value 2844 2845 @K.setter 2846 def K(self, value: float) -> None: 2847 self._Entity.K = value 2848 2849 @C.setter 2850 def C(self, value: float) -> None: 2851 self._Entity.C = value 2852 2853 2854class Foam: 2855 ''' 2856 Foam material. 2857 ''' 2858 def __init__(self, foam: _api.Foam): 2859 self._Entity = foam 2860 2861 @property 2862 def MaterialFamilyName(self) -> str: 2863 return self._Entity.MaterialFamilyName 2864 2865 @property 2866 def Id(self) -> int: 2867 return self._Entity.Id 2868 2869 @property 2870 def CreationDate(self) -> DateTime: 2871 return self._Entity.CreationDate 2872 2873 @property 2874 def ModificationDate(self) -> DateTime: 2875 return self._Entity.ModificationDate 2876 2877 @property 2878 def Name(self) -> str: 2879 return self._Entity.Name 2880 2881 @property 2882 def Wet(self) -> bool: 2883 return self._Entity.Wet 2884 2885 @property 2886 def Density(self) -> float: 2887 return self._Entity.Density 2888 2889 @property 2890 def Form(self) -> str: 2891 return self._Entity.Form 2892 2893 @property 2894 def Specification(self) -> str: 2895 return self._Entity.Specification 2896 2897 @property 2898 def MaterialDescription(self) -> str: 2899 return self._Entity.MaterialDescription 2900 2901 @property 2902 def UserNote(self) -> str: 2903 return self._Entity.UserNote 2904 2905 @property 2906 def FemMaterialId(self) -> int: 2907 return self._Entity.FemMaterialId 2908 2909 @property 2910 def Cost(self) -> float: 2911 return self._Entity.Cost 2912 2913 @property 2914 def BucklingStiffnessKnockdown(self) -> float: 2915 return self._Entity.BucklingStiffnessKnockdown 2916 2917 @property 2918 def Absorption(self) -> float: 2919 return self._Entity.Absorption 2920 2921 @property 2922 def Manufacturer(self) -> str: 2923 return self._Entity.Manufacturer 2924 2925 @property 2926 def FoamTemperatureProperties(self) -> list[FoamTemperature]: 2927 return [FoamTemperature(foamTemperature) for foamTemperature in self._Entity.FoamTemperatureProperties] 2928 2929 @MaterialFamilyName.setter 2930 def MaterialFamilyName(self, value: str) -> None: 2931 self._Entity.MaterialFamilyName = value 2932 2933 @Name.setter 2934 def Name(self, value: str) -> None: 2935 self._Entity.Name = value 2936 2937 @Wet.setter 2938 def Wet(self, value: bool) -> None: 2939 self._Entity.Wet = value 2940 2941 @Density.setter 2942 def Density(self, value: float) -> None: 2943 self._Entity.Density = value 2944 2945 @Form.setter 2946 def Form(self, value: str) -> None: 2947 self._Entity.Form = value 2948 2949 @Specification.setter 2950 def Specification(self, value: str) -> None: 2951 self._Entity.Specification = value 2952 2953 @MaterialDescription.setter 2954 def MaterialDescription(self, value: str) -> None: 2955 self._Entity.MaterialDescription = value 2956 2957 @UserNote.setter 2958 def UserNote(self, value: str) -> None: 2959 self._Entity.UserNote = value 2960 2961 @FemMaterialId.setter 2962 def FemMaterialId(self, value: int) -> None: 2963 self._Entity.FemMaterialId = value 2964 2965 @Cost.setter 2966 def Cost(self, value: float) -> None: 2967 self._Entity.Cost = value 2968 2969 @BucklingStiffnessKnockdown.setter 2970 def BucklingStiffnessKnockdown(self, value: float) -> None: 2971 self._Entity.BucklingStiffnessKnockdown = value 2972 2973 @Absorption.setter 2974 def Absorption(self, value: float) -> None: 2975 self._Entity.Absorption = value 2976 2977 @Manufacturer.setter 2978 def Manufacturer(self, value: str) -> None: 2979 self._Entity.Manufacturer = value 2980 2981 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 2982 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c)) 2983 2984 def DeleteTemperatureProperty(self, temperature: float) -> bool: 2985 return self._Entity.DeleteTemperatureProperty(temperature) 2986 2987 def GetTemperature(self, lookupTemperature: float) -> FoamTemperature: 2988 return FoamTemperature(self._Entity.GetTemperature(lookupTemperature)) 2989 2990 def Save(self) -> None: 2991 ''' 2992 Save any changes to this foam material to the database. 2993 ''' 2994 return self._Entity.Save() 2995 2996 2997class HoneycombTemperature: 2998 ''' 2999 Honeycomb material temperature dependent properties. 3000 ''' 3001 def __init__(self, honeycombTemperature: _api.HoneycombTemperature): 3002 self._Entity = honeycombTemperature 3003 3004 @property 3005 def Temperature(self) -> float: 3006 return self._Entity.Temperature 3007 3008 @property 3009 def Et(self) -> float: 3010 return self._Entity.Et 3011 3012 @property 3013 def Ec(self) -> float: 3014 return self._Entity.Ec 3015 3016 @property 3017 def Gw(self) -> float: 3018 return self._Entity.Gw 3019 3020 @property 3021 def Gl(self) -> float: 3022 return self._Entity.Gl 3023 3024 @property 3025 def Ftu(self) -> float: 3026 return self._Entity.Ftu 3027 3028 @property 3029 def Fcus(self) -> float: 3030 return self._Entity.Fcus 3031 3032 @property 3033 def Fcub(self) -> float: 3034 return self._Entity.Fcub 3035 3036 @property 3037 def Fcuc(self) -> float: 3038 return self._Entity.Fcuc 3039 3040 @property 3041 def Fsuw(self) -> float: 3042 return self._Entity.Fsuw 3043 3044 @property 3045 def Fsul(self) -> float: 3046 return self._Entity.Fsul 3047 3048 @property 3049 def SScfl(self) -> float: 3050 return self._Entity.SScfl 3051 3052 @property 3053 def SScfh(self) -> float: 3054 return self._Entity.SScfh 3055 3056 @property 3057 def Kl(self) -> float: 3058 return self._Entity.Kl 3059 3060 @property 3061 def Kw(self) -> float: 3062 return self._Entity.Kw 3063 3064 @property 3065 def Kt(self) -> float: 3066 return self._Entity.Kt 3067 3068 @property 3069 def C(self) -> float: 3070 return self._Entity.C 3071 3072 @Temperature.setter 3073 def Temperature(self, value: float) -> None: 3074 self._Entity.Temperature = value 3075 3076 @Et.setter 3077 def Et(self, value: float) -> None: 3078 self._Entity.Et = value 3079 3080 @Ec.setter 3081 def Ec(self, value: float) -> None: 3082 self._Entity.Ec = value 3083 3084 @Gw.setter 3085 def Gw(self, value: float) -> None: 3086 self._Entity.Gw = value 3087 3088 @Gl.setter 3089 def Gl(self, value: float) -> None: 3090 self._Entity.Gl = value 3091 3092 @Ftu.setter 3093 def Ftu(self, value: float) -> None: 3094 self._Entity.Ftu = value 3095 3096 @Fcus.setter 3097 def Fcus(self, value: float) -> None: 3098 self._Entity.Fcus = value 3099 3100 @Fcub.setter 3101 def Fcub(self, value: float) -> None: 3102 self._Entity.Fcub = value 3103 3104 @Fcuc.setter 3105 def Fcuc(self, value: float) -> None: 3106 self._Entity.Fcuc = value 3107 3108 @Fsuw.setter 3109 def Fsuw(self, value: float) -> None: 3110 self._Entity.Fsuw = value 3111 3112 @Fsul.setter 3113 def Fsul(self, value: float) -> None: 3114 self._Entity.Fsul = value 3115 3116 @SScfl.setter 3117 def SScfl(self, value: float) -> None: 3118 self._Entity.SScfl = value 3119 3120 @SScfh.setter 3121 def SScfh(self, value: float) -> None: 3122 self._Entity.SScfh = value 3123 3124 @Kl.setter 3125 def Kl(self, value: float) -> None: 3126 self._Entity.Kl = value 3127 3128 @Kw.setter 3129 def Kw(self, value: float) -> None: 3130 self._Entity.Kw = value 3131 3132 @Kt.setter 3133 def Kt(self, value: float) -> None: 3134 self._Entity.Kt = value 3135 3136 @C.setter 3137 def C(self, value: float) -> None: 3138 self._Entity.C = value 3139 3140 3141class Honeycomb: 3142 ''' 3143 Honeycomb material. 3144 ''' 3145 def __init__(self, honeycomb: _api.Honeycomb): 3146 self._Entity = honeycomb 3147 3148 @property 3149 def MaterialFamilyName(self) -> str: 3150 return self._Entity.MaterialFamilyName 3151 3152 @property 3153 def Id(self) -> int: 3154 return self._Entity.Id 3155 3156 @property 3157 def CreationDate(self) -> DateTime: 3158 return self._Entity.CreationDate 3159 3160 @property 3161 def ModificationDate(self) -> DateTime: 3162 return self._Entity.ModificationDate 3163 3164 @property 3165 def Name(self) -> str: 3166 return self._Entity.Name 3167 3168 @property 3169 def Wet(self) -> bool: 3170 return self._Entity.Wet 3171 3172 @property 3173 def Density(self) -> float: 3174 return self._Entity.Density 3175 3176 @property 3177 def Form(self) -> str: 3178 return self._Entity.Form 3179 3180 @property 3181 def Specification(self) -> str: 3182 return self._Entity.Specification 3183 3184 @property 3185 def MaterialDescription(self) -> str: 3186 return self._Entity.MaterialDescription 3187 3188 @property 3189 def UserNote(self) -> str: 3190 return self._Entity.UserNote 3191 3192 @property 3193 def FemMaterialId(self) -> int: 3194 return self._Entity.FemMaterialId 3195 3196 @property 3197 def Cost(self) -> float: 3198 return self._Entity.Cost 3199 3200 @property 3201 def CellSize(self) -> float: 3202 return self._Entity.CellSize 3203 3204 @property 3205 def Manufacturer(self) -> str: 3206 return self._Entity.Manufacturer 3207 3208 @property 3209 def HoneycombTemperatureProperties(self) -> list[HoneycombTemperature]: 3210 return [HoneycombTemperature(honeycombTemperature) for honeycombTemperature in self._Entity.HoneycombTemperatureProperties] 3211 3212 @MaterialFamilyName.setter 3213 def MaterialFamilyName(self, value: str) -> None: 3214 self._Entity.MaterialFamilyName = value 3215 3216 @Name.setter 3217 def Name(self, value: str) -> None: 3218 self._Entity.Name = value 3219 3220 @Wet.setter 3221 def Wet(self, value: bool) -> None: 3222 self._Entity.Wet = value 3223 3224 @Density.setter 3225 def Density(self, value: float) -> None: 3226 self._Entity.Density = value 3227 3228 @Form.setter 3229 def Form(self, value: str) -> None: 3230 self._Entity.Form = value 3231 3232 @Specification.setter 3233 def Specification(self, value: str) -> None: 3234 self._Entity.Specification = value 3235 3236 @MaterialDescription.setter 3237 def MaterialDescription(self, value: str) -> None: 3238 self._Entity.MaterialDescription = value 3239 3240 @UserNote.setter 3241 def UserNote(self, value: str) -> None: 3242 self._Entity.UserNote = value 3243 3244 @FemMaterialId.setter 3245 def FemMaterialId(self, value: int) -> None: 3246 self._Entity.FemMaterialId = value 3247 3248 @Cost.setter 3249 def Cost(self, value: float) -> None: 3250 self._Entity.Cost = value 3251 3252 @CellSize.setter 3253 def CellSize(self, value: float) -> None: 3254 self._Entity.CellSize = value 3255 3256 @Manufacturer.setter 3257 def Manufacturer(self, value: str) -> None: 3258 self._Entity.Manufacturer = value 3259 3260 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3261 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c)) 3262 3263 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3264 return self._Entity.DeleteTemperatureProperty(temperature) 3265 3266 def GetTemperature(self, lookupTemperature: float) -> HoneycombTemperature: 3267 return HoneycombTemperature(self._Entity.GetTemperature(lookupTemperature)) 3268 3269 def Save(self) -> None: 3270 ''' 3271 Save any changes to this honeycomb material to the database. 3272 ''' 3273 return self._Entity.Save() 3274 3275 3276class IsotropicTemperature: 3277 ''' 3278 Isotropic material temperature dependent properties. 3279 ''' 3280 def __init__(self, isotropicTemperature: _api.IsotropicTemperature): 3281 self._Entity = isotropicTemperature 3282 3283 @property 3284 def Temperature(self) -> float: 3285 return self._Entity.Temperature 3286 3287 @property 3288 def Et(self) -> float: 3289 return self._Entity.Et 3290 3291 @property 3292 def Ec(self) -> float: 3293 return self._Entity.Ec 3294 3295 @property 3296 def G(self) -> float: 3297 return self._Entity.G 3298 3299 @property 3300 def n(self) -> float: 3301 return self._Entity.n 3302 3303 @property 3304 def F02(self) -> float: 3305 return self._Entity.F02 3306 3307 @property 3308 def FtuL(self) -> float: 3309 return self._Entity.FtuL 3310 3311 @property 3312 def FtyL(self) -> float: 3313 return self._Entity.FtyL 3314 3315 @property 3316 def FcyL(self) -> float: 3317 return self._Entity.FcyL 3318 3319 @property 3320 def FtuLT(self) -> float: 3321 return self._Entity.FtuLT 3322 3323 @property 3324 def FtyLT(self) -> float: 3325 return self._Entity.FtyLT 3326 3327 @property 3328 def FcyLT(self) -> float: 3329 return self._Entity.FcyLT 3330 3331 @property 3332 def Fsu(self) -> float: 3333 return self._Entity.Fsu 3334 3335 @property 3336 def Fbru15(self) -> float: 3337 return self._Entity.Fbru15 3338 3339 @property 3340 def Fbry15(self) -> float: 3341 return self._Entity.Fbry15 3342 3343 @property 3344 def Fbru20(self) -> float: 3345 return self._Entity.Fbru20 3346 3347 @property 3348 def Fbry20(self) -> float: 3349 return self._Entity.Fbry20 3350 3351 @property 3352 def alpha(self) -> float: 3353 return self._Entity.alpha 3354 3355 @property 3356 def K(self) -> float: 3357 return self._Entity.K 3358 3359 @property 3360 def C(self) -> float: 3361 return self._Entity.C 3362 3363 @property 3364 def etyL(self) -> float: 3365 return self._Entity.etyL 3366 3367 @property 3368 def ecyL(self) -> float: 3369 return self._Entity.ecyL 3370 3371 @property 3372 def etyLT(self) -> float: 3373 return self._Entity.etyLT 3374 3375 @property 3376 def ecyLT(self) -> float: 3377 return self._Entity.ecyLT 3378 3379 @property 3380 def esu(self) -> float: 3381 return self._Entity.esu 3382 3383 @property 3384 def Fpadh(self) -> float: 3385 return self._Entity.Fpadh 3386 3387 @property 3388 def Fsadh(self) -> float: 3389 return self._Entity.Fsadh 3390 3391 @property 3392 def esadh(self) -> float: 3393 return self._Entity.esadh 3394 3395 @property 3396 def cd(self) -> float: 3397 return self._Entity.cd 3398 3399 @property 3400 def Ffwt(self) -> float: 3401 return self._Entity.Ffwt 3402 3403 @property 3404 def Ffxz(self) -> float: 3405 return self._Entity.Ffxz 3406 3407 @property 3408 def Ffyz(self) -> float: 3409 return self._Entity.Ffyz 3410 3411 @property 3412 def FtFatigue(self) -> float: 3413 return self._Entity.FtFatigue 3414 3415 @property 3416 def FcFatigue(self) -> float: 3417 return self._Entity.FcFatigue 3418 3419 @Temperature.setter 3420 def Temperature(self, value: float) -> None: 3421 self._Entity.Temperature = value 3422 3423 @Et.setter 3424 def Et(self, value: float) -> None: 3425 self._Entity.Et = value 3426 3427 @Ec.setter 3428 def Ec(self, value: float) -> None: 3429 self._Entity.Ec = value 3430 3431 @G.setter 3432 def G(self, value: float) -> None: 3433 self._Entity.G = value 3434 3435 @n.setter 3436 def n(self, value: float) -> None: 3437 self._Entity.n = value 3438 3439 @F02.setter 3440 def F02(self, value: float) -> None: 3441 self._Entity.F02 = value 3442 3443 @FtuL.setter 3444 def FtuL(self, value: float) -> None: 3445 self._Entity.FtuL = value 3446 3447 @FtyL.setter 3448 def FtyL(self, value: float) -> None: 3449 self._Entity.FtyL = value 3450 3451 @FcyL.setter 3452 def FcyL(self, value: float) -> None: 3453 self._Entity.FcyL = value 3454 3455 @FtuLT.setter 3456 def FtuLT(self, value: float) -> None: 3457 self._Entity.FtuLT = value 3458 3459 @FtyLT.setter 3460 def FtyLT(self, value: float) -> None: 3461 self._Entity.FtyLT = value 3462 3463 @FcyLT.setter 3464 def FcyLT(self, value: float) -> None: 3465 self._Entity.FcyLT = value 3466 3467 @Fsu.setter 3468 def Fsu(self, value: float) -> None: 3469 self._Entity.Fsu = value 3470 3471 @Fbru15.setter 3472 def Fbru15(self, value: float) -> None: 3473 self._Entity.Fbru15 = value 3474 3475 @Fbry15.setter 3476 def Fbry15(self, value: float) -> None: 3477 self._Entity.Fbry15 = value 3478 3479 @Fbru20.setter 3480 def Fbru20(self, value: float) -> None: 3481 self._Entity.Fbru20 = value 3482 3483 @Fbry20.setter 3484 def Fbry20(self, value: float) -> None: 3485 self._Entity.Fbry20 = value 3486 3487 @alpha.setter 3488 def alpha(self, value: float) -> None: 3489 self._Entity.alpha = value 3490 3491 @K.setter 3492 def K(self, value: float) -> None: 3493 self._Entity.K = value 3494 3495 @C.setter 3496 def C(self, value: float) -> None: 3497 self._Entity.C = value 3498 3499 @etyL.setter 3500 def etyL(self, value: float) -> None: 3501 self._Entity.etyL = value 3502 3503 @ecyL.setter 3504 def ecyL(self, value: float) -> None: 3505 self._Entity.ecyL = value 3506 3507 @etyLT.setter 3508 def etyLT(self, value: float) -> None: 3509 self._Entity.etyLT = value 3510 3511 @ecyLT.setter 3512 def ecyLT(self, value: float) -> None: 3513 self._Entity.ecyLT = value 3514 3515 @esu.setter 3516 def esu(self, value: float) -> None: 3517 self._Entity.esu = value 3518 3519 @Fpadh.setter 3520 def Fpadh(self, value: float) -> None: 3521 self._Entity.Fpadh = value 3522 3523 @Fsadh.setter 3524 def Fsadh(self, value: float) -> None: 3525 self._Entity.Fsadh = value 3526 3527 @esadh.setter 3528 def esadh(self, value: float) -> None: 3529 self._Entity.esadh = value 3530 3531 @cd.setter 3532 def cd(self, value: float) -> None: 3533 self._Entity.cd = value 3534 3535 @Ffwt.setter 3536 def Ffwt(self, value: float) -> None: 3537 self._Entity.Ffwt = value 3538 3539 @Ffxz.setter 3540 def Ffxz(self, value: float) -> None: 3541 self._Entity.Ffxz = value 3542 3543 @Ffyz.setter 3544 def Ffyz(self, value: float) -> None: 3545 self._Entity.Ffyz = value 3546 3547 @FtFatigue.setter 3548 def FtFatigue(self, value: float) -> None: 3549 self._Entity.FtFatigue = value 3550 3551 @FcFatigue.setter 3552 def FcFatigue(self, value: float) -> None: 3553 self._Entity.FcFatigue = value 3554 3555 3556class Isotropic: 3557 ''' 3558 Isotropic material. 3559 ''' 3560 def __init__(self, isotropic: _api.Isotropic): 3561 self._Entity = isotropic 3562 3563 @property 3564 def MaterialFamilyName(self) -> str: 3565 return self._Entity.MaterialFamilyName 3566 3567 @property 3568 def Id(self) -> int: 3569 return self._Entity.Id 3570 3571 @property 3572 def CreationDate(self) -> DateTime: 3573 return self._Entity.CreationDate 3574 3575 @property 3576 def ModificationDate(self) -> DateTime: 3577 return self._Entity.ModificationDate 3578 3579 @property 3580 def Name(self) -> str: 3581 return self._Entity.Name 3582 3583 @property 3584 def Form(self) -> str: 3585 return self._Entity.Form 3586 3587 @property 3588 def Specification(self) -> str: 3589 return self._Entity.Specification 3590 3591 @property 3592 def Temper(self) -> str: 3593 return self._Entity.Temper 3594 3595 @property 3596 def Basis(self) -> str: 3597 return self._Entity.Basis 3598 3599 @property 3600 def Density(self) -> float: 3601 return self._Entity.Density 3602 3603 @property 3604 def MaterialDescription(self) -> str: 3605 return self._Entity.MaterialDescription 3606 3607 @property 3608 def UserNote(self) -> str: 3609 return self._Entity.UserNote 3610 3611 @property 3612 def FemMaterialId(self) -> int: 3613 return self._Entity.FemMaterialId 3614 3615 @property 3616 def Cost(self) -> float: 3617 return self._Entity.Cost 3618 3619 @property 3620 def BucklingStiffnessKnockdown(self) -> float: 3621 return self._Entity.BucklingStiffnessKnockdown 3622 3623 @property 3624 def IsotropicTemperatureProperties(self) -> list[IsotropicTemperature]: 3625 return [IsotropicTemperature(isotropicTemperature) for isotropicTemperature in self._Entity.IsotropicTemperatureProperties] 3626 3627 @MaterialFamilyName.setter 3628 def MaterialFamilyName(self, value: str) -> None: 3629 self._Entity.MaterialFamilyName = value 3630 3631 @Name.setter 3632 def Name(self, value: str) -> None: 3633 self._Entity.Name = value 3634 3635 @Form.setter 3636 def Form(self, value: str) -> None: 3637 self._Entity.Form = value 3638 3639 @Specification.setter 3640 def Specification(self, value: str) -> None: 3641 self._Entity.Specification = value 3642 3643 @Temper.setter 3644 def Temper(self, value: str) -> None: 3645 self._Entity.Temper = value 3646 3647 @Basis.setter 3648 def Basis(self, value: str) -> None: 3649 self._Entity.Basis = value 3650 3651 @Density.setter 3652 def Density(self, value: float) -> None: 3653 self._Entity.Density = value 3654 3655 @MaterialDescription.setter 3656 def MaterialDescription(self, value: str) -> None: 3657 self._Entity.MaterialDescription = value 3658 3659 @UserNote.setter 3660 def UserNote(self, value: str) -> None: 3661 self._Entity.UserNote = value 3662 3663 @FemMaterialId.setter 3664 def FemMaterialId(self, value: int) -> None: 3665 self._Entity.FemMaterialId = value 3666 3667 @Cost.setter 3668 def Cost(self, value: float) -> None: 3669 self._Entity.Cost = value 3670 3671 @BucklingStiffnessKnockdown.setter 3672 def BucklingStiffnessKnockdown(self, value: float) -> None: 3673 self._Entity.BucklingStiffnessKnockdown = value 3674 3675 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3676 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue)) 3677 3678 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3679 return self._Entity.DeleteTemperatureProperty(temperature) 3680 3681 def GetTemperature(self, lookupTemperature: float) -> IsotropicTemperature: 3682 return IsotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 3683 3684 def Save(self) -> None: 3685 ''' 3686 Save any changes to this isotropic material to the database. 3687 ''' 3688 return self._Entity.Save() 3689 3690 3691class LaminateBase(ABC): 3692 def __init__(self, laminateBase: _api.LaminateBase): 3693 self._Entity = laminateBase 3694 3695 @property 3696 def Id(self) -> int: 3697 return self._Entity.Id 3698 3699 @property 3700 def Name(self) -> str: 3701 return self._Entity.Name 3702 3703 @property 3704 def IsEditable(self) -> bool: 3705 return self._Entity.IsEditable 3706 3707 @property 3708 def MaterialFamilyName(self) -> str: 3709 return self._Entity.MaterialFamilyName 3710 3711 @property 3712 def LayerCount(self) -> int: 3713 return self._Entity.LayerCount 3714 3715 @property 3716 def Density(self) -> float: 3717 return self._Entity.Density 3718 3719 @property 3720 def Thickness(self) -> float: 3721 return self._Entity.Thickness 3722 3723 @property 3724 def LaminateFamilyId(self) -> int: 3725 return self._Entity.LaminateFamilyId 3726 3727 @property 3728 def LaminateFamilyOrder(self) -> int: 3729 return self._Entity.LaminateFamilyOrder 3730 3731 @property 3732 def HyperLaminate(self) -> bool: 3733 return self._Entity.HyperLaminate 3734 3735 @Name.setter 3736 def Name(self, value: str) -> None: 3737 self._Entity.Name = value 3738 3739 @MaterialFamilyName.setter 3740 def MaterialFamilyName(self, value: str) -> None: 3741 self._Entity.MaterialFamilyName = value 3742 3743 @abstractmethod 3744 def Save(self) -> None: 3745 ''' 3746 Save the laminate. 3747 ''' 3748 return self._Entity.Save() 3749 3750 3751class LaminateFamily(IdNameEntity): 3752 def __init__(self, laminateFamily: _api.LaminateFamily): 3753 self._Entity = laminateFamily 3754 3755 @property 3756 def Laminates(self) -> list[LaminateBase]: 3757 return [LaminateBase(laminateBase) for laminateBase in self._Entity.Laminates] 3758 3759 @property 3760 def ModificationDate(self) -> DateTime: 3761 return self._Entity.ModificationDate 3762 3763 @property 3764 def PlankSetting(self) -> types.LaminateFamilySettingType: 3765 return types.LaminateFamilySettingType[self._Entity.PlankSetting.ToString()] 3766 3767 @property 3768 def PlankMinRatio(self) -> float: 3769 return self._Entity.PlankMinRatio 3770 3771 @property 3772 def PlankMaxRatio(self) -> float: 3773 return self._Entity.PlankMaxRatio 3774 3775 @property 3776 def FootChargeSetting(self) -> types.LaminateFamilySettingType: 3777 return types.LaminateFamilySettingType[self._Entity.FootChargeSetting.ToString()] 3778 3779 @property 3780 def FootChargeMinRatio(self) -> float: 3781 return self._Entity.FootChargeMinRatio 3782 3783 @property 3784 def FootChargeMaxRatio(self) -> float: 3785 return self._Entity.FootChargeMaxRatio 3786 3787 @property 3788 def WebChargeSetting(self) -> types.LaminateFamilySettingType: 3789 return types.LaminateFamilySettingType[self._Entity.WebChargeSetting.ToString()] 3790 3791 @property 3792 def WebChargeMinRatio(self) -> float: 3793 return self._Entity.WebChargeMinRatio 3794 3795 @property 3796 def WebChargeMaxRatio(self) -> float: 3797 return self._Entity.WebChargeMaxRatio 3798 3799 @property 3800 def CapChargeSetting(self) -> types.LaminateFamilySettingType: 3801 return types.LaminateFamilySettingType[self._Entity.CapChargeSetting.ToString()] 3802 3803 @property 3804 def CapChargeMinRatio(self) -> float: 3805 return self._Entity.CapChargeMinRatio 3806 3807 @property 3808 def CapChargeMaxRatio(self) -> float: 3809 return self._Entity.CapChargeMaxRatio 3810 3811 @property 3812 def CapCoverSetting(self) -> types.LaminateFamilySettingType: 3813 return types.LaminateFamilySettingType[self._Entity.CapCoverSetting.ToString()] 3814 3815 @property 3816 def CapCoverMinRatio(self) -> float: 3817 return self._Entity.CapCoverMinRatio 3818 3819 @property 3820 def CapCoverMaxRatio(self) -> float: 3821 return self._Entity.CapCoverMaxRatio 3822 3823 @property 3824 def DropPattern(self) -> types.PlyDropPattern: 3825 return types.PlyDropPattern[self._Entity.DropPattern.ToString()] 3826 3827 @property 3828 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 3829 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 3830 3831 3832class LaminateLayerBase(ABC): 3833 def __init__(self, laminateLayerBase: _api.LaminateLayerBase): 3834 self._Entity = laminateLayerBase 3835 3836 @property 3837 def LayerId(self) -> int: 3838 return self._Entity.LayerId 3839 3840 @property 3841 def LayerMaterial(self) -> str: 3842 return self._Entity.LayerMaterial 3843 3844 @property 3845 def LayerMaterialType(self) -> types.MaterialType: 3846 ''' 3847 Represents a material's type. 3848 ''' 3849 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3850 3851 @property 3852 def Angle(self) -> float: 3853 return self._Entity.Angle 3854 3855 @property 3856 def Thickness(self) -> float: 3857 return self._Entity.Thickness 3858 3859 @property 3860 def IsFabric(self) -> bool: 3861 return self._Entity.IsFabric 3862 3863 @Angle.setter 3864 @abstractmethod 3865 def Angle(self, value: float) -> None: 3866 self._Entity.Angle = value 3867 3868 def SetThickness(self, thickness: float) -> None: 3869 return self._Entity.SetThickness(thickness) 3870 3871 @overload 3872 def SetMaterial(self, matId: int) -> bool: ... 3873 3874 @overload 3875 def SetMaterial(self, matName: str) -> bool: ... 3876 3877 def SetMaterial(self, item1 = None) -> bool: 3878 if isinstance(item1, int): 3879 return self._Entity.SetMaterial(item1) 3880 3881 if isinstance(item1, str): 3882 return self._Entity.SetMaterial(item1) 3883 3884 return self._Entity.SetMaterial(item1) 3885 3886 3887class LaminateLayer(LaminateLayerBase): 3888 ''' 3889 Layer in a non-stiffener laminate. 3890 ''' 3891 def __init__(self, laminateLayer: _api.LaminateLayer): 3892 self._Entity = laminateLayer 3893 3894 @property 3895 def LayerId(self) -> int: 3896 return self._Entity.LayerId 3897 3898 @property 3899 def LayerMaterialType(self) -> types.MaterialType: 3900 ''' 3901 Represents a material's type. 3902 ''' 3903 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3904 3905 @property 3906 def Angle(self) -> float: 3907 return self._Entity.Angle 3908 3909 @property 3910 def Thickness(self) -> float: 3911 return self._Entity.Thickness 3912 3913 @property 3914 def IsFabric(self) -> bool: 3915 return self._Entity.IsFabric 3916 3917 @Angle.setter 3918 def Angle(self, value: float) -> None: 3919 self._Entity.Angle = value 3920 3921 @overload 3922 def SetMaterial(self, matId: int) -> bool: ... 3923 3924 @overload 3925 def SetMaterial(self, matName: str) -> bool: ... 3926 3927 def SetMaterial(self, item1 = None) -> bool: 3928 if isinstance(item1, int): 3929 return bool(super().SetMaterial(item1)) 3930 3931 if isinstance(item1, str): 3932 return bool(super().SetMaterial(item1)) 3933 3934 return self._Entity.SetMaterial(item1) 3935 3936 3937class Laminate(LaminateBase): 3938 ''' 3939 Laminate 3940 ''' 3941 def __init__(self, laminate: _api.Laminate): 3942 self._Entity = laminate 3943 3944 @property 3945 def Layers(self) -> list[LaminateLayer]: 3946 return [LaminateLayer(laminateLayer) for laminateLayer in self._Entity.Layers] 3947 3948 def AddLayer(self, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 3949 return LaminateLayer(self._Entity.AddLayer(materialName, angle, thickness)) 3950 3951 def InsertLayer(self, layerId: int, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 3952 return LaminateLayer(self._Entity.InsertLayer(layerId, materialName, angle, thickness)) 3953 3954 def RemoveLayer(self, layerId: int) -> bool: 3955 return self._Entity.RemoveLayer(layerId) 3956 3957 def Save(self) -> None: 3958 ''' 3959 Save any changes to this laminate material to the database. 3960 ''' 3961 return self._Entity.Save() 3962 3963 3964class StiffenerLaminateLayer(LaminateLayerBase): 3965 ''' 3966 Stiffener Laminate Layer 3967 ''' 3968 def __init__(self, stiffenerLaminateLayer: _api.StiffenerLaminateLayer): 3969 self._Entity = stiffenerLaminateLayer 3970 3971 @property 3972 def LayerLocations(self) -> list[types.StiffenerLaminateLayerLocation]: 3973 return [types.StiffenerLaminateLayerLocation[stiffenerLaminateLayerLocation.ToString()] for stiffenerLaminateLayerLocation in self._Entity.LayerLocations] 3974 3975 @property 3976 def LayerId(self) -> int: 3977 return self._Entity.LayerId 3978 3979 @property 3980 def LayerMaterialType(self) -> types.MaterialType: 3981 ''' 3982 Represents a material's type. 3983 ''' 3984 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3985 3986 @property 3987 def Angle(self) -> float: 3988 return self._Entity.Angle 3989 3990 @property 3991 def Thickness(self) -> float: 3992 return self._Entity.Thickness 3993 3994 @property 3995 def IsFabric(self) -> bool: 3996 return self._Entity.IsFabric 3997 3998 @Angle.setter 3999 def Angle(self, value: float) -> None: 4000 self._Entity.Angle = value 4001 4002 def AddLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> None: 4003 return self._Entity.AddLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4004 4005 def RemoveLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> bool: 4006 return self._Entity.RemoveLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4007 4008 @overload 4009 def SetMaterial(self, matId: int) -> bool: ... 4010 4011 @overload 4012 def SetMaterial(self, matName: str) -> bool: ... 4013 4014 def SetMaterial(self, item1 = None) -> bool: 4015 if isinstance(item1, int): 4016 return bool(super().SetMaterial(item1)) 4017 4018 if isinstance(item1, str): 4019 return bool(super().SetMaterial(item1)) 4020 4021 return self._Entity.SetMaterial(item1) 4022 4023 4024class StiffenerLaminate(LaminateBase): 4025 ''' 4026 Stiffener Laminate 4027 ''' 4028 def __init__(self, stiffenerLaminate: _api.StiffenerLaminate): 4029 self._Entity = stiffenerLaminate 4030 4031 @property 4032 def Layers(self) -> list[StiffenerLaminateLayer]: 4033 return [StiffenerLaminateLayer(stiffenerLaminateLayer) for stiffenerLaminateLayer in self._Entity.Layers] 4034 4035 @property 4036 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 4037 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 4038 4039 @overload 4040 def AddLayer(self, location: types.StiffenerLaminateLayerLocation, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4041 4042 @overload 4043 def InsertLayer(self, location: types.StiffenerLaminateLayerLocation, layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4044 4045 @overload 4046 def AddLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4047 4048 @overload 4049 def InsertLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4050 4051 def RemoveLayer(self, layerId: int) -> bool: 4052 return self._Entity.RemoveLayer(layerId) 4053 4054 def Save(self) -> None: 4055 ''' 4056 Save laminate to database. 4057 ''' 4058 return self._Entity.Save() 4059 4060 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4061 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4062 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4063 4064 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4065 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4066 if item1 is not None: 4067 for thing in item1: 4068 if thing is not None: 4069 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4070 locationsEnumerable = IEnumerable(locationsList) 4071 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4072 4073 return self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4) 4074 4075 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4076 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4077 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4078 4079 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4080 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4081 if item1 is not None: 4082 for thing in item1: 4083 if thing is not None: 4084 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4085 locationsEnumerable = IEnumerable(locationsList) 4086 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4087 4088 return self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5) 4089 4090 4091class OrthotropicCorrectionFactorBase(ABC): 4092 ''' 4093 Orthotropic material correction factor. 4094 ''' 4095 def __init__(self, orthotropicCorrectionFactorBase: _api.OrthotropicCorrectionFactorBase): 4096 self._Entity = orthotropicCorrectionFactorBase 4097 4098 @property 4099 def CorrectionId(self) -> types.CorrectionId: 4100 ''' 4101 Correction ID for a correction factor. (Columns in HyperX) 4102 ''' 4103 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4104 4105 @property 4106 def PropertyId(self) -> types.CorrectionProperty: 4107 ''' 4108 Property name for a correction factor. (Rows in HyperX) 4109 ''' 4110 return types.CorrectionProperty[self._Entity.PropertyId.ToString()] 4111 4112 4113class OrthotropicCorrectionFactorPoint: 4114 ''' 4115 Pointer to an Equation-based or Tabular Correction Factor. 4116 ''' 4117 def __init__(self, orthotropicCorrectionFactorPoint: _api.OrthotropicCorrectionFactorPoint): 4118 self._Entity = orthotropicCorrectionFactorPoint 4119 4120 def Create_OrthotropicCorrectionFactorPoint(property: types.CorrectionProperty, id: types.CorrectionId): 4121 return OrthotropicCorrectionFactorPoint(_api.OrthotropicCorrectionFactorPoint(_types.CorrectionProperty(property.value), _types.CorrectionId(id.value))) 4122 4123 @property 4124 def CorrectionProperty(self) -> types.CorrectionProperty: 4125 ''' 4126 Property name for a correction factor. (Rows in HyperX) 4127 ''' 4128 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()] 4129 4130 @property 4131 def CorrectionId(self) -> types.CorrectionId: 4132 ''' 4133 Correction ID for a correction factor. (Columns in HyperX) 4134 ''' 4135 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4136 4137 @overload 4138 def Equals(self, other) -> bool: ... 4139 4140 @overload 4141 def Equals(self, obj) -> bool: ... 4142 4143 def GetHashCode(self) -> int: 4144 return self._Entity.GetHashCode() 4145 4146 def Equals(self, item1 = None) -> bool: 4147 if isinstance(item1, OrthotropicCorrectionFactorPoint): 4148 return self._Entity.Equals(item1._Entity) 4149 4150 return self._Entity.Equals(item1._Entity) 4151 4152 4153class OrthotropicCorrectionFactorValue: 4154 ''' 4155 Orthotropic material equation-based correction factor value. (NOT TABULAR) 4156 ''' 4157 def __init__(self, orthotropicCorrectionFactorValue: _api.OrthotropicCorrectionFactorValue): 4158 self._Entity = orthotropicCorrectionFactorValue 4159 4160 @property 4161 def Property(self) -> types.CorrectionProperty: 4162 ''' 4163 Property name for a correction factor. (Rows in HyperX) 4164 ''' 4165 return types.CorrectionProperty[self._Entity.Property.ToString()] 4166 4167 @property 4168 def Correction(self) -> types.CorrectionId: 4169 ''' 4170 Correction ID for a correction factor. (Columns in HyperX) 4171 ''' 4172 return types.CorrectionId[self._Entity.Correction.ToString()] 4173 4174 @property 4175 def Equation(self) -> types.CorrectionEquation: 4176 ''' 4177 Equation for a correction factor. 4178 ''' 4179 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4180 4181 @property 4182 def EquationParameter(self) -> types.EquationParameterId: 4183 ''' 4184 Correction factor parameter names. 4185 ''' 4186 return types.EquationParameterId[self._Entity.EquationParameter.ToString()] 4187 4188 @property 4189 def Value(self) -> float: 4190 return self._Entity.Value 4191 4192 @Value.setter 4193 def Value(self, value: float) -> None: 4194 self._Entity.Value = value 4195 4196 4197class OrthotropicEquationCorrectionFactor(OrthotropicCorrectionFactorBase): 4198 ''' 4199 Represents an equation-based orthotropic material correction factor. 4200 ''' 4201 def __init__(self, orthotropicEquationCorrectionFactor: _api.OrthotropicEquationCorrectionFactor): 4202 self._Entity = orthotropicEquationCorrectionFactor 4203 4204 @property 4205 def Equation(self) -> types.CorrectionEquation: 4206 ''' 4207 Equation for a correction factor. 4208 ''' 4209 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4210 4211 @property 4212 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4213 orthotropicCorrectionValuesDict = {} 4214 for kvp in self._Entity.OrthotropicCorrectionValues: 4215 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4216 4217 return orthotropicCorrectionValuesDict 4218 4219 def AddCorrectionFactorValue(self, equationParameterName: types.EquationParameterId, valueToAdd: float) -> OrthotropicCorrectionFactorValue: 4220 return OrthotropicCorrectionFactorValue(self._Entity.AddCorrectionFactorValue(_types.EquationParameterId(equationParameterName.value), valueToAdd)) 4221 4222 4223class TabularCorrectionFactorIndependentValue: 4224 ''' 4225 Contains an independent value for a tabular correction factor row. 4226 ''' 4227 def __init__(self, tabularCorrectionFactorIndependentValue: _api.TabularCorrectionFactorIndependentValue): 4228 self._Entity = tabularCorrectionFactorIndependentValue 4229 4230 @property 4231 def BoolValue(self) -> bool: 4232 return self._Entity.BoolValue 4233 4234 @property 4235 def DoubleValue(self) -> float: 4236 return self._Entity.DoubleValue 4237 4238 @property 4239 def IntValue(self) -> int: 4240 return self._Entity.IntValue 4241 4242 @property 4243 def ValueType(self) -> types.CorrectionValueType: 4244 ''' 4245 Defines the type of the independent values on a tabular correction factor row. 4246 ''' 4247 return types.CorrectionValueType[self._Entity.ValueType.ToString()] 4248 4249 4250class TabularCorrectionFactorRow: 4251 ''' 4252 Row data for a tabular correction factor. 4253 ''' 4254 def __init__(self, tabularCorrectionFactorRow: _api.TabularCorrectionFactorRow): 4255 self._Entity = tabularCorrectionFactorRow 4256 4257 @property 4258 def DependentValue(self) -> float: 4259 return self._Entity.DependentValue 4260 4261 @property 4262 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4263 independentValuesDict = {} 4264 for kvp in self._Entity.IndependentValues: 4265 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4266 4267 return independentValuesDict 4268 4269 4270class OrthotropicTabularCorrectionFactor(OrthotropicCorrectionFactorBase): 4271 ''' 4272 Tabular correction factor. 4273 ''' 4274 def __init__(self, orthotropicTabularCorrectionFactor: _api.OrthotropicTabularCorrectionFactor): 4275 self._Entity = orthotropicTabularCorrectionFactor 4276 4277 @property 4278 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4279 correctionFactorRowsDict = {} 4280 for kvp in self._Entity.CorrectionFactorRows: 4281 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4282 4283 return correctionFactorRowsDict 4284 4285 @property 4286 def CorrectionIndependentDefinitions(self) -> set[types.CorrectionIndependentDefinition]: 4287 return {types.CorrectionIndependentDefinition(correctionIndependentDefinition) for correctionIndependentDefinition in self._Entity.CorrectionIndependentDefinitions} 4288 4289 @overload 4290 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: float) -> None: ... 4291 4292 @overload 4293 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: bool) -> None: ... 4294 4295 @overload 4296 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: int) -> None: ... 4297 4298 def SetKValue(self, correctionPointId: int, value: float) -> None: 4299 return self._Entity.SetKValue(correctionPointId, value) 4300 4301 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4302 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4303 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4304 4305 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4306 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4307 4308 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4309 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4310 4311 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4312 4313 4314class OrthotropicAllowableCurvePoint: 4315 ''' 4316 Represents a point on a laminate allowable curve. 4317 ''' 4318 def __init__(self, orthotropicAllowableCurvePoint: _api.OrthotropicAllowableCurvePoint): 4319 self._Entity = orthotropicAllowableCurvePoint 4320 4321 @property 4322 def Property_ID(self) -> types.AllowablePropertyName: 4323 ''' 4324 Property name for a laminate allowable. 4325 ''' 4326 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4327 4328 @property 4329 def Temperature(self) -> float: 4330 return self._Entity.Temperature 4331 4332 @property 4333 def X(self) -> float: 4334 return self._Entity.X 4335 4336 @property 4337 def Y(self) -> float: 4338 return self._Entity.Y 4339 4340 @Property_ID.setter 4341 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4342 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4343 4344 @Temperature.setter 4345 def Temperature(self, value: float) -> None: 4346 self._Entity.Temperature = value 4347 4348 @X.setter 4349 def X(self, value: float) -> None: 4350 self._Entity.X = value 4351 4352 @Y.setter 4353 def Y(self, value: float) -> None: 4354 self._Entity.Y = value 4355 4356 4357class OrthotropicEffectiveLaminate: 4358 ''' 4359 Orthotropic material effective laminate properties. Read-only from the API. 4360 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4361 ''' 4362 def __init__(self, orthotropicEffectiveLaminate: _api.OrthotropicEffectiveLaminate): 4363 self._Entity = orthotropicEffectiveLaminate 4364 4365 @property 4366 def Percent_tape_0(self) -> float: 4367 return self._Entity.Percent_tape_0 4368 4369 @property 4370 def Percent_tape_90(self) -> float: 4371 return self._Entity.Percent_tape_90 4372 4373 @property 4374 def Percent_tape_45(self) -> float: 4375 return self._Entity.Percent_tape_45 4376 4377 @property 4378 def Percent_fabric_0(self) -> float: 4379 return self._Entity.Percent_fabric_0 4380 4381 @property 4382 def Percent_fabric_90(self) -> float: 4383 return self._Entity.Percent_fabric_90 4384 4385 @property 4386 def Percent_fabric_45(self) -> float: 4387 return self._Entity.Percent_fabric_45 4388 4389 @property 4390 def Tape_Orthotropic(self) -> str: 4391 return self._Entity.Tape_Orthotropic 4392 4393 @property 4394 def Fabric_Orthotropic(self) -> str: 4395 return self._Entity.Fabric_Orthotropic 4396 4397 @property 4398 def Valid(self) -> bool: 4399 return self._Entity.Valid 4400 4401 @property 4402 def Use_tape_allowables(self) -> bool: 4403 return self._Entity.Use_tape_allowables 4404 4405 4406class OrthotropicLaminateAllowable: 4407 ''' 4408 Orthotropic material laminate allowable properties. 4409 ''' 4410 def __init__(self, orthotropicLaminateAllowable: _api.OrthotropicLaminateAllowable): 4411 self._Entity = orthotropicLaminateAllowable 4412 4413 @property 4414 def Property_ID(self) -> types.AllowablePropertyName: 4415 ''' 4416 Property name for a laminate allowable. 4417 ''' 4418 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4419 4420 @property 4421 def Method_ID(self) -> types.AllowableMethodName: 4422 ''' 4423 Method name for a laminate allowable. 4424 ''' 4425 return types.AllowableMethodName[self._Entity.Method_ID.ToString()] 4426 4427 @Property_ID.setter 4428 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4429 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4430 4431 @Method_ID.setter 4432 def Method_ID(self, value: types.AllowableMethodName) -> None: 4433 self._Entity.Method_ID = _types.AllowableMethodName(value.value) 4434 4435 4436class OrthotropicTemperature: 4437 ''' 4438 Orthotropic material temperature dependent properties. 4439 ''' 4440 def __init__(self, orthotropicTemperature: _api.OrthotropicTemperature): 4441 self._Entity = orthotropicTemperature 4442 4443 @property 4444 def Temperature(self) -> float: 4445 return self._Entity.Temperature 4446 4447 @property 4448 def Et1(self) -> float: 4449 return self._Entity.Et1 4450 4451 @property 4452 def Et2(self) -> float: 4453 return self._Entity.Et2 4454 4455 @property 4456 def vt12(self) -> float: 4457 return self._Entity.vt12 4458 4459 @property 4460 def Ec1(self) -> float: 4461 return self._Entity.Ec1 4462 4463 @property 4464 def Ec2(self) -> float: 4465 return self._Entity.Ec2 4466 4467 @property 4468 def vc12(self) -> float: 4469 return self._Entity.vc12 4470 4471 @property 4472 def G12(self) -> float: 4473 return self._Entity.G12 4474 4475 @property 4476 def G13(self) -> float: 4477 return self._Entity.G13 4478 4479 @property 4480 def G23(self) -> float: 4481 return self._Entity.G23 4482 4483 @property 4484 def Ftu1(self) -> float: 4485 return self._Entity.Ftu1 4486 4487 @property 4488 def Ftu2(self) -> float: 4489 return self._Entity.Ftu2 4490 4491 @property 4492 def Fcu1(self) -> float: 4493 return self._Entity.Fcu1 4494 4495 @property 4496 def Fcu2(self) -> float: 4497 return self._Entity.Fcu2 4498 4499 @property 4500 def Fsu12(self) -> float: 4501 return self._Entity.Fsu12 4502 4503 @property 4504 def Fsu13(self) -> float: 4505 return self._Entity.Fsu13 4506 4507 @property 4508 def Fsu23(self) -> float: 4509 return self._Entity.Fsu23 4510 4511 @property 4512 def GIc(self) -> float: 4513 return self._Entity.GIc 4514 4515 @property 4516 def alpha1(self) -> float: 4517 return self._Entity.alpha1 4518 4519 @property 4520 def alpha2(self) -> float: 4521 return self._Entity.alpha2 4522 4523 @property 4524 def K1(self) -> float: 4525 return self._Entity.K1 4526 4527 @property 4528 def K2(self) -> float: 4529 return self._Entity.K2 4530 4531 @property 4532 def C(self) -> float: 4533 return self._Entity.C 4534 4535 @property 4536 def etu1(self) -> float: 4537 return self._Entity.etu1 4538 4539 @property 4540 def etu2(self) -> float: 4541 return self._Entity.etu2 4542 4543 @property 4544 def ecu1(self) -> float: 4545 return self._Entity.ecu1 4546 4547 @property 4548 def ecu2(self) -> float: 4549 return self._Entity.ecu2 4550 4551 @property 4552 def ecuoh(self) -> float: 4553 return self._Entity.ecuoh 4554 4555 @property 4556 def ecuai(self) -> float: 4557 return self._Entity.ecuai 4558 4559 @property 4560 def esu12(self) -> float: 4561 return self._Entity.esu12 4562 4563 @property 4564 def Ftu3(self) -> float: 4565 return self._Entity.Ftu3 4566 4567 @property 4568 def GIIc(self) -> float: 4569 return self._Entity.GIIc 4570 4571 @property 4572 def d0Tension(self) -> float: 4573 return self._Entity.d0Tension 4574 4575 @property 4576 def cd(self) -> float: 4577 return self._Entity.cd 4578 4579 @property 4580 def d0Compression(self) -> float: 4581 return self._Entity.d0Compression 4582 4583 @property 4584 def TLt(self) -> float: 4585 return self._Entity.TLt 4586 4587 @property 4588 def TLc(self) -> float: 4589 return self._Entity.TLc 4590 4591 @property 4592 def TTt(self) -> float: 4593 return self._Entity.TTt 4594 4595 @property 4596 def TTc(self) -> float: 4597 return self._Entity.TTc 4598 4599 @property 4600 def OrthotropicAllowableCurvePoints(self) -> list[OrthotropicAllowableCurvePoint]: 4601 return [OrthotropicAllowableCurvePoint(orthotropicAllowableCurvePoint) for orthotropicAllowableCurvePoint in self._Entity.OrthotropicAllowableCurvePoints] 4602 4603 @Temperature.setter 4604 def Temperature(self, value: float) -> None: 4605 self._Entity.Temperature = value 4606 4607 @Et1.setter 4608 def Et1(self, value: float) -> None: 4609 self._Entity.Et1 = value 4610 4611 @Et2.setter 4612 def Et2(self, value: float) -> None: 4613 self._Entity.Et2 = value 4614 4615 @vt12.setter 4616 def vt12(self, value: float) -> None: 4617 self._Entity.vt12 = value 4618 4619 @Ec1.setter 4620 def Ec1(self, value: float) -> None: 4621 self._Entity.Ec1 = value 4622 4623 @Ec2.setter 4624 def Ec2(self, value: float) -> None: 4625 self._Entity.Ec2 = value 4626 4627 @vc12.setter 4628 def vc12(self, value: float) -> None: 4629 self._Entity.vc12 = value 4630 4631 @G12.setter 4632 def G12(self, value: float) -> None: 4633 self._Entity.G12 = value 4634 4635 @G13.setter 4636 def G13(self, value: float) -> None: 4637 self._Entity.G13 = value 4638 4639 @G23.setter 4640 def G23(self, value: float) -> None: 4641 self._Entity.G23 = value 4642 4643 @Ftu1.setter 4644 def Ftu1(self, value: float) -> None: 4645 self._Entity.Ftu1 = value 4646 4647 @Ftu2.setter 4648 def Ftu2(self, value: float) -> None: 4649 self._Entity.Ftu2 = value 4650 4651 @Fcu1.setter 4652 def Fcu1(self, value: float) -> None: 4653 self._Entity.Fcu1 = value 4654 4655 @Fcu2.setter 4656 def Fcu2(self, value: float) -> None: 4657 self._Entity.Fcu2 = value 4658 4659 @Fsu12.setter 4660 def Fsu12(self, value: float) -> None: 4661 self._Entity.Fsu12 = value 4662 4663 @Fsu13.setter 4664 def Fsu13(self, value: float) -> None: 4665 self._Entity.Fsu13 = value 4666 4667 @Fsu23.setter 4668 def Fsu23(self, value: float) -> None: 4669 self._Entity.Fsu23 = value 4670 4671 @GIc.setter 4672 def GIc(self, value: float) -> None: 4673 self._Entity.GIc = value 4674 4675 @alpha1.setter 4676 def alpha1(self, value: float) -> None: 4677 self._Entity.alpha1 = value 4678 4679 @alpha2.setter 4680 def alpha2(self, value: float) -> None: 4681 self._Entity.alpha2 = value 4682 4683 @K1.setter 4684 def K1(self, value: float) -> None: 4685 self._Entity.K1 = value 4686 4687 @K2.setter 4688 def K2(self, value: float) -> None: 4689 self._Entity.K2 = value 4690 4691 @C.setter 4692 def C(self, value: float) -> None: 4693 self._Entity.C = value 4694 4695 @etu1.setter 4696 def etu1(self, value: float) -> None: 4697 self._Entity.etu1 = value 4698 4699 @etu2.setter 4700 def etu2(self, value: float) -> None: 4701 self._Entity.etu2 = value 4702 4703 @ecu1.setter 4704 def ecu1(self, value: float) -> None: 4705 self._Entity.ecu1 = value 4706 4707 @ecu2.setter 4708 def ecu2(self, value: float) -> None: 4709 self._Entity.ecu2 = value 4710 4711 @ecuoh.setter 4712 def ecuoh(self, value: float) -> None: 4713 self._Entity.ecuoh = value 4714 4715 @ecuai.setter 4716 def ecuai(self, value: float) -> None: 4717 self._Entity.ecuai = value 4718 4719 @esu12.setter 4720 def esu12(self, value: float) -> None: 4721 self._Entity.esu12 = value 4722 4723 @Ftu3.setter 4724 def Ftu3(self, value: float) -> None: 4725 self._Entity.Ftu3 = value 4726 4727 @GIIc.setter 4728 def GIIc(self, value: float) -> None: 4729 self._Entity.GIIc = value 4730 4731 @d0Tension.setter 4732 def d0Tension(self, value: float) -> None: 4733 self._Entity.d0Tension = value 4734 4735 @cd.setter 4736 def cd(self, value: float) -> None: 4737 self._Entity.cd = value 4738 4739 @d0Compression.setter 4740 def d0Compression(self, value: float) -> None: 4741 self._Entity.d0Compression = value 4742 4743 @TLt.setter 4744 def TLt(self, value: float) -> None: 4745 self._Entity.TLt = value 4746 4747 @TLc.setter 4748 def TLc(self, value: float) -> None: 4749 self._Entity.TLc = value 4750 4751 @TTt.setter 4752 def TTt(self, value: float) -> None: 4753 self._Entity.TTt = value 4754 4755 @TTc.setter 4756 def TTc(self, value: float) -> None: 4757 self._Entity.TTc = value 4758 4759 def AddCurvePoint(self, property: types.AllowablePropertyName, x: float, y: float) -> OrthotropicAllowableCurvePoint: 4760 return OrthotropicAllowableCurvePoint(self._Entity.AddCurvePoint(_types.AllowablePropertyName(property.value), x, y)) 4761 4762 def DeleteCurvePoint(self, property: types.AllowablePropertyName, x: float) -> bool: 4763 return self._Entity.DeleteCurvePoint(_types.AllowablePropertyName(property.value), x) 4764 4765 def GetCurvePoint(self, property: types.AllowablePropertyName, x: float) -> OrthotropicAllowableCurvePoint: 4766 return OrthotropicAllowableCurvePoint(self._Entity.GetCurvePoint(_types.AllowablePropertyName(property.value), x)) 4767 4768 4769class Orthotropic: 4770 ''' 4771 Orthotropic material. 4772 ''' 4773 def __init__(self, orthotropic: _api.Orthotropic): 4774 self._Entity = orthotropic 4775 4776 @property 4777 def MaterialFamilyName(self) -> str: 4778 return self._Entity.MaterialFamilyName 4779 4780 @property 4781 def Id(self) -> int: 4782 return self._Entity.Id 4783 4784 @property 4785 def CreationDate(self) -> DateTime: 4786 return self._Entity.CreationDate 4787 4788 @property 4789 def ModificationDate(self) -> DateTime: 4790 return self._Entity.ModificationDate 4791 4792 @property 4793 def Name(self) -> str: 4794 return self._Entity.Name 4795 4796 @property 4797 def Form(self) -> str: 4798 return self._Entity.Form 4799 4800 @property 4801 def Specification(self) -> str: 4802 return self._Entity.Specification 4803 4804 @property 4805 def Basis(self) -> str: 4806 return self._Entity.Basis 4807 4808 @property 4809 def Wet(self) -> bool: 4810 return self._Entity.Wet 4811 4812 @property 4813 def Thickness(self) -> float: 4814 return self._Entity.Thickness 4815 4816 @property 4817 def Density(self) -> float: 4818 return self._Entity.Density 4819 4820 @property 4821 def FiberVolume(self) -> float: 4822 return self._Entity.FiberVolume 4823 4824 @property 4825 def GlassTransition(self) -> float: 4826 return self._Entity.GlassTransition 4827 4828 @property 4829 def Manufacturer(self) -> str: 4830 return self._Entity.Manufacturer 4831 4832 @property 4833 def Processes(self) -> str: 4834 return self._Entity.Processes 4835 4836 @property 4837 def MaterialDescription(self) -> str: 4838 return self._Entity.MaterialDescription 4839 4840 @property 4841 def UserNote(self) -> str: 4842 return self._Entity.UserNote 4843 4844 @property 4845 def BendingCorrectionFactor(self) -> float: 4846 return self._Entity.BendingCorrectionFactor 4847 4848 @property 4849 def FemMaterialId(self) -> int: 4850 return self._Entity.FemMaterialId 4851 4852 @property 4853 def Cost(self) -> float: 4854 return self._Entity.Cost 4855 4856 @property 4857 def BucklingStiffnessKnockdown(self) -> float: 4858 return self._Entity.BucklingStiffnessKnockdown 4859 4860 @property 4861 def OrthotropicTemperatureProperties(self) -> list[OrthotropicTemperature]: 4862 return [OrthotropicTemperature(orthotropicTemperature) for orthotropicTemperature in self._Entity.OrthotropicTemperatureProperties] 4863 4864 @property 4865 def OrthotropicLaminateAllowables(self) -> list[OrthotropicLaminateAllowable]: 4866 return [OrthotropicLaminateAllowable(orthotropicLaminateAllowable) for orthotropicLaminateAllowable in self._Entity.OrthotropicLaminateAllowables] 4867 4868 @property 4869 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4870 ''' 4871 Orthotropic material effective laminate properties. Read-only from the API. 4872 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4873 ''' 4874 result = self._Entity.OrthotropicEffectiveLaminate 4875 return OrthotropicEffectiveLaminate(result) if result is not None else None 4876 4877 @property 4878 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 4879 orthotropicEquationCorrectionFactorsDict = {} 4880 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 4881 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 4882 4883 return orthotropicEquationCorrectionFactorsDict 4884 4885 @property 4886 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 4887 orthotropicTabularCorrectionFactorsDict = {} 4888 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 4889 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 4890 4891 return orthotropicTabularCorrectionFactorsDict 4892 4893 @MaterialFamilyName.setter 4894 def MaterialFamilyName(self, value: str) -> None: 4895 self._Entity.MaterialFamilyName = value 4896 4897 @Name.setter 4898 def Name(self, value: str) -> None: 4899 self._Entity.Name = value 4900 4901 @Form.setter 4902 def Form(self, value: str) -> None: 4903 self._Entity.Form = value 4904 4905 @Specification.setter 4906 def Specification(self, value: str) -> None: 4907 self._Entity.Specification = value 4908 4909 @Basis.setter 4910 def Basis(self, value: str) -> None: 4911 self._Entity.Basis = value 4912 4913 @Wet.setter 4914 def Wet(self, value: bool) -> None: 4915 self._Entity.Wet = value 4916 4917 @Thickness.setter 4918 def Thickness(self, value: float) -> None: 4919 self._Entity.Thickness = value 4920 4921 @Density.setter 4922 def Density(self, value: float) -> None: 4923 self._Entity.Density = value 4924 4925 @FiberVolume.setter 4926 def FiberVolume(self, value: float) -> None: 4927 self._Entity.FiberVolume = value 4928 4929 @GlassTransition.setter 4930 def GlassTransition(self, value: float) -> None: 4931 self._Entity.GlassTransition = value 4932 4933 @Manufacturer.setter 4934 def Manufacturer(self, value: str) -> None: 4935 self._Entity.Manufacturer = value 4936 4937 @Processes.setter 4938 def Processes(self, value: str) -> None: 4939 self._Entity.Processes = value 4940 4941 @MaterialDescription.setter 4942 def MaterialDescription(self, value: str) -> None: 4943 self._Entity.MaterialDescription = value 4944 4945 @UserNote.setter 4946 def UserNote(self, value: str) -> None: 4947 self._Entity.UserNote = value 4948 4949 @BendingCorrectionFactor.setter 4950 def BendingCorrectionFactor(self, value: float) -> None: 4951 self._Entity.BendingCorrectionFactor = value 4952 4953 @FemMaterialId.setter 4954 def FemMaterialId(self, value: int) -> None: 4955 self._Entity.FemMaterialId = value 4956 4957 @Cost.setter 4958 def Cost(self, value: float) -> None: 4959 self._Entity.Cost = value 4960 4961 @BucklingStiffnessKnockdown.setter 4962 def BucklingStiffnessKnockdown(self, value: float) -> None: 4963 self._Entity.BucklingStiffnessKnockdown = value 4964 4965 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 4966 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12)) 4967 4968 def DeleteTemperatureProperty(self, temperature: float) -> bool: 4969 return self._Entity.DeleteTemperatureProperty(temperature) 4970 4971 def GetTemperature(self, lookupTemperature: float) -> OrthotropicTemperature: 4972 return OrthotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 4973 4974 def IsEffectiveLaminate(self) -> bool: 4975 ''' 4976 Returns true if this material is an effective laminate. 4977 ''' 4978 return self._Entity.IsEffectiveLaminate() 4979 4980 def HasLaminateAllowable(self, property: types.AllowablePropertyName) -> bool: 4981 return self._Entity.HasLaminateAllowable(_types.AllowablePropertyName(property.value)) 4982 4983 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 4984 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value))) 4985 4986 def GetLaminateAllowable(self, lookupAllowableProperty: types.AllowablePropertyName) -> OrthotropicLaminateAllowable: 4987 return OrthotropicLaminateAllowable(self._Entity.GetLaminateAllowable(_types.AllowablePropertyName(lookupAllowableProperty.value))) 4988 4989 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 4990 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value))) 4991 4992 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 4993 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 4994 4995 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 4996 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 4997 4998 def Save(self) -> None: 4999 ''' 5000 Save any changes to this orthotropic material to the database. 5001 ''' 5002 return self._Entity.Save() 5003 5004 5005class Vector2d: 5006 ''' 5007 Represents a readonly 2D vector. 5008 ''' 5009 def __init__(self, vector2d: _api.Vector2d): 5010 self._Entity = vector2d 5011 5012 def Create_Vector2d(x: float, y: float): 5013 return Vector2d(_api.Vector2d(x, y)) 5014 5015 @property 5016 def X(self) -> float: 5017 return self._Entity.X 5018 5019 @property 5020 def Y(self) -> float: 5021 return self._Entity.Y 5022 5023 @overload 5024 def Equals(self, other) -> bool: ... 5025 5026 @overload 5027 def Equals(self, obj) -> bool: ... 5028 5029 def GetHashCode(self) -> int: 5030 return self._Entity.GetHashCode() 5031 5032 def Equals(self, item1 = None) -> bool: 5033 if isinstance(item1, Vector2d): 5034 return self._Entity.Equals(item1._Entity) 5035 5036 return self._Entity.Equals(item1._Entity) 5037 5038 def __eq__(self, other): 5039 return self.Equals(other) 5040 5041 def __ne__(self, other): 5042 return not self.Equals(other) 5043 5044 5045class ElementSet(IdNameEntity): 5046 ''' 5047 A set of elements defined in the input file. 5048 ''' 5049 def __init__(self, elementSet: _api.ElementSet): 5050 self._Entity = elementSet 5051 5052 @property 5053 def Elements(self) -> ElementCol: 5054 result = self._Entity.Elements 5055 return ElementCol(result) if result is not None else None 5056 5057 5058class FemProperty(IdNameEntity): 5059 ''' 5060 A property description. 5061 ''' 5062 def __init__(self, femProperty: _api.FemProperty): 5063 self._Entity = femProperty 5064 5065 @property 5066 def Elements(self) -> ElementCol: 5067 result = self._Entity.Elements 5068 return ElementCol(result) if result is not None else None 5069 5070 @property 5071 def FemType(self) -> types.FemType: 5072 return types.FemType[self._Entity.FemType.ToString()] 5073 5074 5075class ElementSetCol(IdEntityCol[ElementSet]): 5076 def __init__(self, elementSetCol: _api.ElementSetCol): 5077 self._Entity = elementSetCol 5078 self._CollectedClass = ElementSet 5079 5080 @property 5081 def ElementSetColList(self) -> tuple[ElementSet]: 5082 return tuple([ElementSet(elementSetCol) for elementSetCol in self._Entity]) 5083 5084 def __getitem__(self, index: int): 5085 return self.ElementSetColList[index] 5086 5087 def __iter__(self): 5088 yield from self.ElementSetColList 5089 5090 def __len__(self): 5091 return len(self.ElementSetColList) 5092 5093 5094class FemPropertyCol(IdEntityCol[FemProperty]): 5095 def __init__(self, femPropertyCol: _api.FemPropertyCol): 5096 self._Entity = femPropertyCol 5097 self._CollectedClass = FemProperty 5098 5099 @property 5100 def FemPropertyColList(self) -> tuple[FemProperty]: 5101 return tuple([FemProperty(femPropertyCol) for femPropertyCol in self._Entity]) 5102 5103 def __getitem__(self, index: int): 5104 return self.FemPropertyColList[index] 5105 5106 def __iter__(self): 5107 yield from self.FemPropertyColList 5108 5109 def __len__(self): 5110 return len(self.FemPropertyColList) 5111 5112 5113class FemDataSet: 5114 def __init__(self, femDataSet: _api.FemDataSet): 5115 self._Entity = femDataSet 5116 5117 @property 5118 def FemProperties(self) -> FemPropertyCol: 5119 result = self._Entity.FemProperties 5120 return FemPropertyCol(result) if result is not None else None 5121 5122 @property 5123 def ElementSets(self) -> ElementSetCol: 5124 result = self._Entity.ElementSets 5125 return ElementSetCol(result) if result is not None else None 5126 5127 5128class PluginPackage(IdNameEntity): 5129 def __init__(self, pluginPackage: _api.PluginPackage): 5130 self._Entity = pluginPackage 5131 5132 @property 5133 def FilePath(self) -> str: 5134 return self._Entity.FilePath 5135 5136 @property 5137 def Version(self) -> str: 5138 return self._Entity.Version 5139 5140 @property 5141 def Description(self) -> str: 5142 return self._Entity.Description 5143 5144 @property 5145 def ModificationDate(self) -> DateTime: 5146 return self._Entity.ModificationDate 5147 5148 5149class Ply(IdNameEntity): 5150 def __init__(self, ply: _api.Ply): 5151 self._Entity = ply 5152 5153 @property 5154 def InnerCurves(self) -> list[int]: 5155 return [int32 for int32 in self._Entity.InnerCurves] 5156 5157 @property 5158 def OuterCurves(self) -> list[int]: 5159 return [int32 for int32 in self._Entity.OuterCurves] 5160 5161 @property 5162 def FiberDirectionCurves(self) -> list[int]: 5163 return [int32 for int32 in self._Entity.FiberDirectionCurves] 5164 5165 @property 5166 def Area(self) -> float: 5167 return self._Entity.Area 5168 5169 @property 5170 def Description(self) -> str: 5171 return self._Entity.Description 5172 5173 @property 5174 def Elements(self) -> ElementCol: 5175 result = self._Entity.Elements 5176 return ElementCol(result) if result is not None else None 5177 5178 @property 5179 def MaterialId(self) -> int: 5180 return self._Entity.MaterialId 5181 5182 @property 5183 def Orientation(self) -> int: 5184 return self._Entity.Orientation 5185 5186 @property 5187 def Sequence(self) -> int: 5188 return self._Entity.Sequence 5189 5190 @property 5191 def StructureId(self) -> int: 5192 return self._Entity.StructureId 5193 5194 @property 5195 def Thickness(self) -> float: 5196 return self._Entity.Thickness 5197 5198 5199class Rundeck(IdEntity): 5200 def __init__(self, rundeck: _api.Rundeck): 5201 self._Entity = rundeck 5202 5203 @property 5204 def InputFilePath(self) -> str: 5205 return self._Entity.InputFilePath 5206 5207 @property 5208 def IsPrimary(self) -> bool: 5209 return self._Entity.IsPrimary 5210 5211 @property 5212 def ResultFilePath(self) -> str: 5213 return self._Entity.ResultFilePath 5214 5215 def SetInputFilePath(self, filepath: str) -> RundeckUpdateStatus: 5216 return RundeckUpdateStatus[self._Entity.SetInputFilePath(filepath).ToString()] 5217 5218 def SetResultFilePath(self, filepath: str) -> RundeckUpdateStatus: 5219 return RundeckUpdateStatus[self._Entity.SetResultFilePath(filepath).ToString()] 5220 5221 5222class RundeckPathPair: 5223 def __init__(self, rundeckPathPair: _api.RundeckPathPair): 5224 self._Entity = rundeckPathPair 5225 5226 @property 5227 def InputFilePath(self) -> str: 5228 return self._Entity.InputFilePath 5229 5230 @property 5231 def ResultFilePath(self) -> str: 5232 return self._Entity.ResultFilePath 5233 5234 @InputFilePath.setter 5235 def InputFilePath(self, value: str) -> None: 5236 self._Entity.InputFilePath = value 5237 5238 @ResultFilePath.setter 5239 def ResultFilePath(self, value: str) -> None: 5240 self._Entity.ResultFilePath = value 5241 5242 5243class BeamLoads: 5244 def __init__(self, beamLoads: _api.BeamLoads): 5245 self._Entity = beamLoads 5246 5247 @property 5248 def AxialForce(self) -> float: 5249 return self._Entity.AxialForce 5250 5251 @property 5252 def MomentX(self) -> float: 5253 return self._Entity.MomentX 5254 5255 @property 5256 def MomentY(self) -> float: 5257 return self._Entity.MomentY 5258 5259 @property 5260 def ShearX(self) -> float: 5261 return self._Entity.ShearX 5262 5263 @property 5264 def ShearY(self) -> float: 5265 return self._Entity.ShearY 5266 5267 @property 5268 def Torque(self) -> float: 5269 return self._Entity.Torque 5270 5271 5272class SectionCut(IdNameEntity): 5273 def __init__(self, sectionCut: _api.SectionCut): 5274 self._Entity = sectionCut 5275 5276 @property 5277 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5278 ''' 5279 Centroid vs Origin 5280 ''' 5281 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()] 5282 5283 @property 5284 def HorizontalVector(self) -> Vector3d: 5285 ''' 5286 Represents a readonly 3D vector. 5287 ''' 5288 result = self._Entity.HorizontalVector 5289 return Vector3d(result) if result is not None else None 5290 5291 @property 5292 def NormalVector(self) -> Vector3d: 5293 ''' 5294 Represents a readonly 3D vector. 5295 ''' 5296 result = self._Entity.NormalVector 5297 return Vector3d(result) if result is not None else None 5298 5299 @property 5300 def OriginVector(self) -> Vector3d: 5301 ''' 5302 Represents a readonly 3D vector. 5303 ''' 5304 result = self._Entity.OriginVector 5305 return Vector3d(result) if result is not None else None 5306 5307 @property 5308 def VerticalVector(self) -> Vector3d: 5309 ''' 5310 Represents a readonly 3D vector. 5311 ''' 5312 result = self._Entity.VerticalVector 5313 return Vector3d(result) if result is not None else None 5314 5315 @property 5316 def MaxAngleBound(self) -> float: 5317 return self._Entity.MaxAngleBound 5318 5319 @property 5320 def MinAngleBound(self) -> float: 5321 return self._Entity.MinAngleBound 5322 5323 @property 5324 def MinStiffnessEihh(self) -> float: 5325 return self._Entity.MinStiffnessEihh 5326 5327 @property 5328 def MinStiffnessEivv(self) -> float: 5329 return self._Entity.MinStiffnessEivv 5330 5331 @property 5332 def MinStiffnessGJ(self) -> float: 5333 return self._Entity.MinStiffnessGJ 5334 5335 @property 5336 def ZoneStiffnessDistribution(self) -> float: 5337 return self._Entity.ZoneStiffnessDistribution 5338 5339 @property 5340 def CN_hmax(self) -> float: 5341 return self._Entity.CN_hmax 5342 5343 @property 5344 def CN_hmin(self) -> float: 5345 return self._Entity.CN_hmin 5346 5347 @property 5348 def CN_vmax(self) -> float: 5349 return self._Entity.CN_vmax 5350 5351 @property 5352 def CN_vmin(self) -> float: 5353 return self._Entity.CN_vmin 5354 5355 @property 5356 def CQ_hmax(self) -> float: 5357 return self._Entity.CQ_hmax 5358 5359 @property 5360 def CQ_hmin(self) -> float: 5361 return self._Entity.CQ_hmin 5362 5363 @property 5364 def CQ_vmax(self) -> float: 5365 return self._Entity.CQ_vmax 5366 5367 @property 5368 def CQ_vmin(self) -> float: 5369 return self._Entity.CQ_vmin 5370 5371 @property 5372 def CG(self) -> Vector2d: 5373 ''' 5374 Represents a readonly 2D vector. 5375 ''' 5376 result = self._Entity.CG 5377 return Vector2d(result) if result is not None else None 5378 5379 @property 5380 def CN(self) -> Vector2d: 5381 ''' 5382 Represents a readonly 2D vector. 5383 ''' 5384 result = self._Entity.CN 5385 return Vector2d(result) if result is not None else None 5386 5387 @property 5388 def CQ(self) -> Vector2d: 5389 ''' 5390 Represents a readonly 2D vector. 5391 ''' 5392 result = self._Entity.CQ 5393 return Vector2d(result) if result is not None else None 5394 5395 @property 5396 def EnclosedArea(self) -> float: 5397 return self._Entity.EnclosedArea 5398 5399 @property 5400 def NumberOfCells(self) -> int: 5401 return self._Entity.NumberOfCells 5402 5403 @property 5404 def EIhh(self) -> float: 5405 return self._Entity.EIhh 5406 5407 @property 5408 def EIhv(self) -> float: 5409 return self._Entity.EIhv 5410 5411 @property 5412 def EIvv(self) -> float: 5413 return self._Entity.EIvv 5414 5415 @property 5416 def GJ(self) -> float: 5417 return self._Entity.GJ 5418 5419 @property 5420 def EA(self) -> float: 5421 return self._Entity.EA 5422 5423 @property 5424 def EImax(self) -> float: 5425 return self._Entity.EImax 5426 5427 @property 5428 def EImin(self) -> float: 5429 return self._Entity.EImin 5430 5431 @property 5432 def PrincipalAngle(self) -> float: 5433 return self._Entity.PrincipalAngle 5434 5435 @property 5436 def Elements(self) -> ElementCol: 5437 result = self._Entity.Elements 5438 return ElementCol(result) if result is not None else None 5439 5440 @property 5441 def PlateElements(self) -> ElementCol: 5442 result = self._Entity.PlateElements 5443 return ElementCol(result) if result is not None else None 5444 5445 @property 5446 def BeamElements(self) -> ElementCol: 5447 result = self._Entity.BeamElements 5448 return ElementCol(result) if result is not None else None 5449 5450 @ReferencePoint.setter 5451 def ReferencePoint(self, value: types.SectionCutPropertyLocation) -> None: 5452 self._Entity.ReferencePoint = _types.SectionCutPropertyLocation(value.value) 5453 5454 @MaxAngleBound.setter 5455 def MaxAngleBound(self, value: float) -> None: 5456 self._Entity.MaxAngleBound = value 5457 5458 @MinAngleBound.setter 5459 def MinAngleBound(self, value: float) -> None: 5460 self._Entity.MinAngleBound = value 5461 5462 @MinStiffnessEihh.setter 5463 def MinStiffnessEihh(self, value: float) -> None: 5464 self._Entity.MinStiffnessEihh = value 5465 5466 @MinStiffnessEivv.setter 5467 def MinStiffnessEivv(self, value: float) -> None: 5468 self._Entity.MinStiffnessEivv = value 5469 5470 @MinStiffnessGJ.setter 5471 def MinStiffnessGJ(self, value: float) -> None: 5472 self._Entity.MinStiffnessGJ = value 5473 5474 @ZoneStiffnessDistribution.setter 5475 def ZoneStiffnessDistribution(self, value: float) -> None: 5476 self._Entity.ZoneStiffnessDistribution = value 5477 5478 @CN_hmax.setter 5479 def CN_hmax(self, value: float) -> None: 5480 self._Entity.CN_hmax = value 5481 5482 @CN_hmin.setter 5483 def CN_hmin(self, value: float) -> None: 5484 self._Entity.CN_hmin = value 5485 5486 @CN_vmax.setter 5487 def CN_vmax(self, value: float) -> None: 5488 self._Entity.CN_vmax = value 5489 5490 @CN_vmin.setter 5491 def CN_vmin(self, value: float) -> None: 5492 self._Entity.CN_vmin = value 5493 5494 @CQ_hmax.setter 5495 def CQ_hmax(self, value: float) -> None: 5496 self._Entity.CQ_hmax = value 5497 5498 @CQ_hmin.setter 5499 def CQ_hmin(self, value: float) -> None: 5500 self._Entity.CQ_hmin = value 5501 5502 @CQ_vmax.setter 5503 def CQ_vmax(self, value: float) -> None: 5504 self._Entity.CQ_vmax = value 5505 5506 @CQ_vmin.setter 5507 def CQ_vmin(self, value: float) -> None: 5508 self._Entity.CQ_vmin = value 5509 5510 def AlignToHorizontalPrincipalAxes(self) -> None: 5511 ''' 5512 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5513 ''' 5514 return self._Entity.AlignToHorizontalPrincipalAxes() 5515 5516 def AlignToVerticalPrincipalAxes(self) -> None: 5517 ''' 5518 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5519 ''' 5520 return self._Entity.AlignToVerticalPrincipalAxes() 5521 5522 def SetHorizontalVector(self, vector: Vector3d) -> None: 5523 return self._Entity.SetHorizontalVector(vector._Entity) 5524 5525 def SetNormalVector(self, vector: Vector3d) -> None: 5526 return self._Entity.SetNormalVector(vector._Entity) 5527 5528 def SetOrigin(self, vector: Vector3d) -> None: 5529 return self._Entity.SetOrigin(vector._Entity) 5530 5531 def GetBeamLoads(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> BeamLoads: 5532 return BeamLoads(self._Entity.GetBeamLoads(loadCaseId, _types.LoadSubCaseFactor(factor.value))) 5533 5534 def InclinationAngle(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5535 return self._Entity.InclinationAngle(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5536 5537 def HorizontalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5538 return self._Entity.HorizontalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5539 5540 def VerticalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5541 return self._Entity.VerticalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5542 5543 def SetElements(self, elements: list[int]) -> bool: 5544 elementsList = MakeCSharpIntList(elements) 5545 return self._Entity.SetElements(elementsList) 5546 5547 5548class Set(ZoneJointContainer): 5549 def __init__(self, set: _api.Set): 5550 self._Entity = set 5551 5552 @property 5553 def Joints(self) -> JointCol: 5554 result = self._Entity.Joints 5555 return JointCol(result) if result is not None else None 5556 5557 @property 5558 def PanelSegments(self) -> PanelSegmentCol: 5559 result = self._Entity.PanelSegments 5560 return PanelSegmentCol(result) if result is not None else None 5561 5562 @property 5563 def Zones(self) -> ZoneCol: 5564 result = self._Entity.Zones 5565 return ZoneCol(result) if result is not None else None 5566 5567 @overload 5568 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5569 5570 @overload 5571 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5572 5573 @overload 5574 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5575 5576 @overload 5577 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5578 5579 @overload 5580 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5581 5582 @overload 5583 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5584 5585 @overload 5586 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5587 5588 @overload 5589 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5590 5591 @overload 5592 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5593 5594 @overload 5595 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5596 5597 @overload 5598 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5599 5600 @overload 5601 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5602 5603 @overload 5604 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5605 5606 @overload 5607 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5608 5609 @overload 5610 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5611 5612 @overload 5613 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5614 5615 @overload 5616 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5617 5618 @overload 5619 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5620 5621 @overload 5622 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5623 5624 @overload 5625 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5626 5627 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5628 if isinstance(item1, Joint): 5629 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5630 5631 if isinstance(item1, int): 5632 return CollectionModificationStatus(super().AddJoint(item1)) 5633 5634 return self._Entity.AddJoint(item1._Entity) 5635 5636 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5637 if isinstance(item1, PanelSegment): 5638 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5639 5640 if isinstance(item1, int): 5641 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5642 5643 return self._Entity.AddPanelSegment(item1._Entity) 5644 5645 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5646 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5647 zonesList = List[_api.Zone]() 5648 if item1 is not None: 5649 for thing in item1: 5650 if thing is not None: 5651 zonesList.Add(thing._Entity) 5652 zonesEnumerable = IEnumerable(zonesList) 5653 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5654 5655 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5656 return CollectionModificationStatus(super().AddZones(item1)) 5657 5658 return self._Entity.AddZones(item1) 5659 5660 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5661 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5662 jointIdsList = MakeCSharpIntList(item1) 5663 jointIdsEnumerable = IEnumerable(jointIdsList) 5664 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5665 5666 if isinstance(item1, JointCol): 5667 return CollectionModificationStatus(super().RemoveJoints(item1)) 5668 5669 return self._Entity.RemoveJoints(item1) 5670 5671 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5672 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5673 segmentIdsList = MakeCSharpIntList(item1) 5674 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5675 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5676 5677 if isinstance(item1, PanelSegmentCol): 5678 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5679 5680 return self._Entity.RemovePanelSegments(item1) 5681 5682 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5683 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5684 zoneIdsList = MakeCSharpIntList(item1) 5685 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5686 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5687 5688 if isinstance(item1, ZoneCol): 5689 return CollectionModificationStatus(super().RemoveZones(item1)) 5690 5691 return self._Entity.RemoveZones(item1) 5692 5693 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5694 if isinstance(item1, int): 5695 return CollectionModificationStatus(super().RemoveJoint(item1)) 5696 5697 if isinstance(item1, Joint): 5698 return CollectionModificationStatus(super().RemoveJoint(item1)) 5699 5700 return self._Entity.RemoveJoint(item1) 5701 5702 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5703 if isinstance(item1, int): 5704 return CollectionModificationStatus(super().AddZone(item1)) 5705 5706 if isinstance(item1, Zone): 5707 return CollectionModificationStatus(super().AddZone(item1)) 5708 5709 return self._Entity.AddZone(item1) 5710 5711 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5712 if isinstance(item1, int): 5713 return CollectionModificationStatus(super().RemoveZone(item1)) 5714 5715 if isinstance(item1, Zone): 5716 return CollectionModificationStatus(super().RemoveZone(item1)) 5717 5718 return self._Entity.RemoveZone(item1) 5719 5720 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5721 if isinstance(item1, int): 5722 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5723 5724 if isinstance(item1, PanelSegment): 5725 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5726 5727 return self._Entity.RemovePanelSegment(item1) 5728 5729 5730class PlyCol(IdNameEntityCol[Ply]): 5731 def __init__(self, plyCol: _api.PlyCol): 5732 self._Entity = plyCol 5733 self._CollectedClass = Ply 5734 5735 @property 5736 def PlyColList(self) -> tuple[Ply]: 5737 return tuple([Ply(plyCol) for plyCol in self._Entity]) 5738 5739 def Delete(self, id: int) -> CollectionModificationStatus: 5740 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 5741 5742 def DeleteAll(self) -> None: 5743 ''' 5744 Delete all plies in the collection. 5745 ''' 5746 return self._Entity.DeleteAll() 5747 5748 def ExportToCSV(self, filepath: str) -> None: 5749 return self._Entity.ExportToCSV(filepath) 5750 5751 def ImportCSV(self, filepath: str) -> None: 5752 return self._Entity.ImportCSV(filepath) 5753 5754 @overload 5755 def Get(self, name: str) -> Ply: ... 5756 5757 @overload 5758 def Get(self, id: int) -> Ply: ... 5759 5760 def Get(self, item1 = None) -> Ply: 5761 if isinstance(item1, str): 5762 return Ply(super().Get(item1)) 5763 5764 if isinstance(item1, int): 5765 return Ply(super().Get(item1)) 5766 5767 return self._Entity.Get(item1) 5768 5769 def __getitem__(self, index: int): 5770 return self.PlyColList[index] 5771 5772 def __iter__(self): 5773 yield from self.PlyColList 5774 5775 def __len__(self): 5776 return len(self.PlyColList) 5777 5778 5779class Structure(ZoneJointContainer): 5780 def __init__(self, structure: _api.Structure): 5781 self._Entity = structure 5782 5783 @property 5784 def Plies(self) -> PlyCol: 5785 result = self._Entity.Plies 5786 return PlyCol(result) if result is not None else None 5787 5788 @property 5789 def Joints(self) -> JointCol: 5790 result = self._Entity.Joints 5791 return JointCol(result) if result is not None else None 5792 5793 @property 5794 def PanelSegments(self) -> PanelSegmentCol: 5795 result = self._Entity.PanelSegments 5796 return PanelSegmentCol(result) if result is not None else None 5797 5798 @property 5799 def Zones(self) -> ZoneCol: 5800 result = self._Entity.Zones 5801 return ZoneCol(result) if result is not None else None 5802 5803 def ExportVCP(self, fileName: str) -> None: 5804 return self._Entity.ExportVCP(fileName) 5805 5806 def AddElements(self, elementIds: tuple[int]) -> CollectionModificationStatus: 5807 elementIdsList = MakeCSharpIntList(elementIds) 5808 elementIdsEnumerable = IEnumerable(elementIdsList) 5809 return CollectionModificationStatus[self._Entity.AddElements(elementIdsEnumerable).ToString()] 5810 5811 @overload 5812 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5813 5814 @overload 5815 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5816 5817 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 5818 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 5819 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 5820 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()] 5821 5822 @overload 5823 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5824 5825 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 5826 elementIdsList = MakeCSharpIntList(elementIds) 5827 elementIdsEnumerable = IEnumerable(elementIdsList) 5828 result = self._Entity.CreateZone(elementIdsEnumerable, name) 5829 thisClass = type(result).__name__ 5830 givenClass = Zone 5831 for subclass in Zone.__subclasses__(): 5832 if subclass.__name__ == thisClass: 5833 givenClass = subclass 5834 return givenClass(result) 5835 5836 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 5837 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 5838 for kvp in discreteElementLkp: 5839 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 5840 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name)) 5841 5842 @overload 5843 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int]) -> CollectionModificationStatus: ... 5844 5845 @overload 5846 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int], panelSegmentIds: tuple[int]) -> CollectionModificationStatus: ... 5847 5848 @overload 5849 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5850 5851 @overload 5852 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5853 5854 @overload 5855 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5856 5857 @overload 5858 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5859 5860 @overload 5861 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5862 5863 @overload 5864 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5865 5866 @overload 5867 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5868 5869 @overload 5870 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5871 5872 @overload 5873 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5874 5875 @overload 5876 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5877 5878 @overload 5879 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5880 5881 @overload 5882 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5883 5884 @overload 5885 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5886 5887 @overload 5888 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5889 5890 @overload 5891 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5892 5893 @overload 5894 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5895 5896 @overload 5897 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5898 5899 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5900 if isinstance(item1, Joint): 5901 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5902 5903 if isinstance(item1, int): 5904 return CollectionModificationStatus(super().AddJoint(item1)) 5905 5906 return self._Entity.AddJoint(item1._Entity) 5907 5908 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5909 if isinstance(item1, PanelSegment): 5910 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5911 5912 if isinstance(item1, int): 5913 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5914 5915 return self._Entity.AddPanelSegment(item1._Entity) 5916 5917 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5918 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5919 zonesList = List[_api.Zone]() 5920 if item1 is not None: 5921 for thing in item1: 5922 if thing is not None: 5923 zonesList.Add(thing._Entity) 5924 zonesEnumerable = IEnumerable(zonesList) 5925 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5926 5927 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5928 return CollectionModificationStatus(super().AddZones(item1)) 5929 5930 return self._Entity.AddZones(item1) 5931 5932 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 5933 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int) and isinstance(item3, tuple) and len(item3) > 0 and isinstance(item3[0], int): 5934 zoneIdsList = MakeCSharpIntList(item1) 5935 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5936 jointIdsList = MakeCSharpIntList(item2) 5937 jointIdsEnumerable = IEnumerable(jointIdsList) 5938 panelSegmentIdsList = MakeCSharpIntList(item3) 5939 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 5940 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 5941 5942 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int): 5943 zoneIdsList = MakeCSharpIntList(item1) 5944 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5945 jointIdsList = MakeCSharpIntList(item2) 5946 jointIdsEnumerable = IEnumerable(jointIdsList) 5947 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 5948 5949 return self._Entity.Remove(item1, item2, item3) 5950 5951 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5952 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5953 jointIdsList = MakeCSharpIntList(item1) 5954 jointIdsEnumerable = IEnumerable(jointIdsList) 5955 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5956 5957 if isinstance(item1, JointCol): 5958 return CollectionModificationStatus(super().RemoveJoints(item1)) 5959 5960 return self._Entity.RemoveJoints(item1) 5961 5962 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5963 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5964 segmentIdsList = MakeCSharpIntList(item1) 5965 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5966 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5967 5968 if isinstance(item1, PanelSegmentCol): 5969 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5970 5971 return self._Entity.RemovePanelSegments(item1) 5972 5973 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5974 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5975 zoneIdsList = MakeCSharpIntList(item1) 5976 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5977 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5978 5979 if isinstance(item1, ZoneCol): 5980 return CollectionModificationStatus(super().RemoveZones(item1)) 5981 5982 return self._Entity.RemoveZones(item1) 5983 5984 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5985 if isinstance(item1, int): 5986 return CollectionModificationStatus(super().RemoveJoint(item1)) 5987 5988 if isinstance(item1, Joint): 5989 return CollectionModificationStatus(super().RemoveJoint(item1)) 5990 5991 return self._Entity.RemoveJoint(item1) 5992 5993 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5994 if isinstance(item1, int): 5995 return CollectionModificationStatus(super().AddZone(item1)) 5996 5997 if isinstance(item1, Zone): 5998 return CollectionModificationStatus(super().AddZone(item1)) 5999 6000 return self._Entity.AddZone(item1) 6001 6002 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6003 if isinstance(item1, int): 6004 return CollectionModificationStatus(super().RemoveZone(item1)) 6005 6006 if isinstance(item1, Zone): 6007 return CollectionModificationStatus(super().RemoveZone(item1)) 6008 6009 return self._Entity.RemoveZone(item1) 6010 6011 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6012 if isinstance(item1, int): 6013 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6014 6015 if isinstance(item1, PanelSegment): 6016 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6017 6018 return self._Entity.RemovePanelSegment(item1) 6019 6020 6021class AnalysisPropertyCol(IdNameEntityCol[AnalysisProperty]): 6022 def __init__(self, analysisPropertyCol: _api.AnalysisPropertyCol): 6023 self._Entity = analysisPropertyCol 6024 self._CollectedClass = AnalysisProperty 6025 6026 @property 6027 def AnalysisPropertyColList(self) -> tuple[AnalysisProperty]: 6028 return tuple([AnalysisProperty(analysisPropertyCol) for analysisPropertyCol in self._Entity]) 6029 6030 def CreateAnalysisProperty(self, type: types.FamilyCategory, name: str = None) -> AnalysisProperty: 6031 return AnalysisProperty(self._Entity.CreateAnalysisProperty(_types.FamilyCategory(type.value), name)) 6032 6033 @overload 6034 def DeleteAnalysisProperty(self, name: str) -> bool: ... 6035 6036 @overload 6037 def DeleteAnalysisProperty(self, id: int) -> bool: ... 6038 6039 @overload 6040 def Get(self, name: str) -> AnalysisProperty: ... 6041 6042 @overload 6043 def Get(self, id: int) -> AnalysisProperty: ... 6044 6045 def DeleteAnalysisProperty(self, item1 = None) -> bool: 6046 if isinstance(item1, str): 6047 return self._Entity.DeleteAnalysisProperty(item1) 6048 6049 if isinstance(item1, int): 6050 return self._Entity.DeleteAnalysisProperty(item1) 6051 6052 return self._Entity.DeleteAnalysisProperty(item1) 6053 6054 def Get(self, item1 = None) -> AnalysisProperty: 6055 if isinstance(item1, str): 6056 return AnalysisProperty(super().Get(item1)) 6057 6058 if isinstance(item1, int): 6059 return AnalysisProperty(super().Get(item1)) 6060 6061 return self._Entity.Get(item1) 6062 6063 def __getitem__(self, index: int): 6064 return self.AnalysisPropertyColList[index] 6065 6066 def __iter__(self): 6067 yield from self.AnalysisPropertyColList 6068 6069 def __len__(self): 6070 return len(self.AnalysisPropertyColList) 6071 6072 6073class DesignPropertyCol(IdNameEntityCol[DesignProperty]): 6074 def __init__(self, designPropertyCol: _api.DesignPropertyCol): 6075 self._Entity = designPropertyCol 6076 self._CollectedClass = DesignProperty 6077 6078 @property 6079 def DesignPropertyColList(self) -> tuple[DesignProperty]: 6080 return tuple([DesignProperty(designPropertyCol) for designPropertyCol in self._Entity]) 6081 6082 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6083 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6084 thisClass = type(result).__name__ 6085 givenClass = DesignProperty 6086 for subclass in DesignProperty.__subclasses__(): 6087 if subclass.__name__ == thisClass: 6088 givenClass = subclass 6089 return givenClass(result) 6090 6091 @overload 6092 def Get(self, name: str) -> DesignProperty: ... 6093 6094 @overload 6095 def Get(self, id: int) -> DesignProperty: ... 6096 6097 def Get(self, item1 = None) -> DesignProperty: 6098 if isinstance(item1, str): 6099 return DesignProperty(super().Get(item1)) 6100 6101 if isinstance(item1, int): 6102 return DesignProperty(super().Get(item1)) 6103 6104 return self._Entity.Get(item1) 6105 6106 def __getitem__(self, index: int): 6107 return self.DesignPropertyColList[index] 6108 6109 def __iter__(self): 6110 yield from self.DesignPropertyColList 6111 6112 def __len__(self): 6113 return len(self.DesignPropertyColList) 6114 6115 6116class LoadPropertyCol(IdNameEntityCol[LoadProperty]): 6117 def __init__(self, loadPropertyCol: _api.LoadPropertyCol): 6118 self._Entity = loadPropertyCol 6119 self._CollectedClass = LoadProperty 6120 6121 @property 6122 def LoadPropertyColList(self) -> tuple[LoadProperty]: 6123 return tuple([LoadProperty(loadPropertyCol) for loadPropertyCol in self._Entity]) 6124 6125 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6126 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6127 thisClass = type(result).__name__ 6128 givenClass = LoadProperty 6129 for subclass in LoadProperty.__subclasses__(): 6130 if subclass.__name__ == thisClass: 6131 givenClass = subclass 6132 return givenClass(result) 6133 6134 @overload 6135 def DeleteLoadProperty(self, id: int) -> bool: ... 6136 6137 @overload 6138 def DeleteLoadProperty(self, name: str) -> bool: ... 6139 6140 @overload 6141 def Get(self, name: str) -> LoadProperty: ... 6142 6143 @overload 6144 def Get(self, id: int) -> LoadProperty: ... 6145 6146 def DeleteLoadProperty(self, item1 = None) -> bool: 6147 if isinstance(item1, int): 6148 return self._Entity.DeleteLoadProperty(item1) 6149 6150 if isinstance(item1, str): 6151 return self._Entity.DeleteLoadProperty(item1) 6152 6153 return self._Entity.DeleteLoadProperty(item1) 6154 6155 def Get(self, item1 = None) -> LoadProperty: 6156 if isinstance(item1, str): 6157 return LoadProperty(super().Get(item1)) 6158 6159 if isinstance(item1, int): 6160 return LoadProperty(super().Get(item1)) 6161 6162 return self._Entity.Get(item1) 6163 6164 def __getitem__(self, index: int): 6165 return self.LoadPropertyColList[index] 6166 6167 def __iter__(self): 6168 yield from self.LoadPropertyColList 6169 6170 def __len__(self): 6171 return len(self.LoadPropertyColList) 6172 6173 6174class DesignLoadCol(IdNameEntityCol[DesignLoad]): 6175 def __init__(self, designLoadCol: _api.DesignLoadCol): 6176 self._Entity = designLoadCol 6177 self._CollectedClass = DesignLoad 6178 6179 @property 6180 def DesignLoadColList(self) -> tuple[DesignLoad]: 6181 return tuple([DesignLoad(designLoadCol) for designLoadCol in self._Entity]) 6182 6183 @overload 6184 def Get(self, name: str) -> DesignLoad: ... 6185 6186 @overload 6187 def Get(self, id: int) -> DesignLoad: ... 6188 6189 def Get(self, item1 = None) -> DesignLoad: 6190 if isinstance(item1, str): 6191 return DesignLoad(super().Get(item1)) 6192 6193 if isinstance(item1, int): 6194 return DesignLoad(super().Get(item1)) 6195 6196 return self._Entity.Get(item1) 6197 6198 def __getitem__(self, index: int): 6199 return self.DesignLoadColList[index] 6200 6201 def __iter__(self): 6202 yield from self.DesignLoadColList 6203 6204 def __len__(self): 6205 return len(self.DesignLoadColList) 6206 6207 6208class DiscreteFieldCol(IdNameEntityCol[DiscreteField]): 6209 def __init__(self, discreteFieldCol: _api.DiscreteFieldCol): 6210 self._Entity = discreteFieldCol 6211 self._CollectedClass = DiscreteField 6212 6213 @property 6214 def DiscreteFieldColList(self) -> tuple[DiscreteField]: 6215 return tuple([DiscreteField(discreteFieldCol) for discreteFieldCol in self._Entity]) 6216 6217 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6218 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name)) 6219 6220 def CreateFromVCP(self, filepath: str) -> list[DiscreteField]: 6221 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateFromVCP(filepath)] 6222 6223 def Delete(self, id: int) -> CollectionModificationStatus: 6224 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6225 6226 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6227 elementIdsList = MakeCSharpIntList(elementIds) 6228 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6229 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)] 6230 6231 @overload 6232 def Get(self, name: str) -> DiscreteField: ... 6233 6234 @overload 6235 def Get(self, id: int) -> DiscreteField: ... 6236 6237 def Get(self, item1 = None) -> DiscreteField: 6238 if isinstance(item1, str): 6239 return DiscreteField(super().Get(item1)) 6240 6241 if isinstance(item1, int): 6242 return DiscreteField(super().Get(item1)) 6243 6244 return self._Entity.Get(item1) 6245 6246 def __getitem__(self, index: int): 6247 return self.DiscreteFieldColList[index] 6248 6249 def __iter__(self): 6250 yield from self.DiscreteFieldColList 6251 6252 def __len__(self): 6253 return len(self.DiscreteFieldColList) 6254 6255 6256class ZoneJointContainerCol(IdNameEntityCol, Generic[T]): 6257 def __init__(self, zoneJointContainerCol: _api.ZoneJointContainerCol): 6258 self._Entity = zoneJointContainerCol 6259 self._CollectedClass = T 6260 6261 @property 6262 def ZoneJointContainerColList(self) -> tuple[T]: 6263 if self._Entity.Count() <= 0: 6264 return () 6265 thisClass = type(self._Entity._items[0]).__name__ 6266 givenClass = T 6267 for subclass in T.__subclasses__(): 6268 if subclass.__name__ == thisClass: 6269 givenClass = subclass 6270 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity]) 6271 6272 @abstractmethod 6273 def Create(self, name: str) -> T: 6274 return self._Entity.Create(name) 6275 6276 @overload 6277 def Get(self, name: str) -> T: ... 6278 6279 @overload 6280 def Get(self, id: int) -> T: ... 6281 6282 def Get(self, item1 = None) -> T: 6283 if isinstance(item1, str): 6284 return super().Get(item1) 6285 6286 if isinstance(item1, int): 6287 return super().Get(item1) 6288 6289 return self._Entity.Get(item1) 6290 6291 def __getitem__(self, index: int): 6292 return self.ZoneJointContainerColList[index] 6293 6294 def __iter__(self): 6295 yield from self.ZoneJointContainerColList 6296 6297 def __len__(self): 6298 return len(self.ZoneJointContainerColList) 6299 6300 6301class RundeckCol(IdEntityCol[Rundeck]): 6302 def __init__(self, rundeckCol: _api.RundeckCol): 6303 self._Entity = rundeckCol 6304 self._CollectedClass = Rundeck 6305 6306 @property 6307 def RundeckColList(self) -> tuple[Rundeck]: 6308 return tuple([Rundeck(rundeckCol) for rundeckCol in self._Entity]) 6309 6310 def AddRundeck(self, inputPath: str, resultPath: str = None) -> Rundeck: 6311 return Rundeck(self._Entity.AddRundeck(inputPath, resultPath)) 6312 6313 def ReassignPrimary(self, id: int) -> RundeckUpdateStatus: 6314 return RundeckUpdateStatus[self._Entity.ReassignPrimary(id).ToString()] 6315 6316 def RemoveRundeck(self, id: int) -> RundeckRemoveStatus: 6317 return RundeckRemoveStatus[self._Entity.RemoveRundeck(id).ToString()] 6318 6319 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6320 newPathsList = List[_api.RundeckPathPair]() 6321 if newPaths is not None: 6322 for thing in newPaths: 6323 if thing is not None: 6324 newPathsList.Add(thing._Entity) 6325 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()] 6326 6327 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6328 ''' 6329 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6330 ''' 6331 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()] 6332 6333 def ReplaceStringInAllPaths(self, stringToReplace: str, newString: str) -> RundeckBulkUpdateStatus: 6334 return RundeckBulkUpdateStatus[self._Entity.ReplaceStringInAllPaths(stringToReplace, newString).ToString()] 6335 6336 def __getitem__(self, index: int): 6337 return self.RundeckColList[index] 6338 6339 def __iter__(self): 6340 yield from self.RundeckColList 6341 6342 def __len__(self): 6343 return len(self.RundeckColList) 6344 6345 6346class SectionCutCol(IdNameEntityCol[SectionCut]): 6347 def __init__(self, sectionCutCol: _api.SectionCutCol): 6348 self._Entity = sectionCutCol 6349 self._CollectedClass = SectionCut 6350 6351 @property 6352 def SectionCutColList(self) -> tuple[SectionCut]: 6353 return tuple([SectionCut(sectionCutCol) for sectionCutCol in self._Entity]) 6354 6355 def Create(self, origin: Vector3d, normal: Vector3d, horizontal: Vector3d, name: str = None) -> SectionCut: 6356 return SectionCut(self._Entity.Create(origin._Entity, normal._Entity, horizontal._Entity, name)) 6357 6358 def Delete(self, id: int) -> CollectionModificationStatus: 6359 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6360 6361 @overload 6362 def Get(self, name: str) -> SectionCut: ... 6363 6364 @overload 6365 def Get(self, id: int) -> SectionCut: ... 6366 6367 def Get(self, item1 = None) -> SectionCut: 6368 if isinstance(item1, str): 6369 return SectionCut(super().Get(item1)) 6370 6371 if isinstance(item1, int): 6372 return SectionCut(super().Get(item1)) 6373 6374 return self._Entity.Get(item1) 6375 6376 def __getitem__(self, index: int): 6377 return self.SectionCutColList[index] 6378 6379 def __iter__(self): 6380 yield from self.SectionCutColList 6381 6382 def __len__(self): 6383 return len(self.SectionCutColList) 6384 6385 6386class SetCol(ZoneJointContainerCol[Set]): 6387 def __init__(self, setCol: _api.SetCol): 6388 self._Entity = setCol 6389 self._CollectedClass = Set 6390 6391 @property 6392 def SetColList(self) -> tuple[Set]: 6393 return tuple([Set(setCol) for setCol in self._Entity]) 6394 6395 def Create(self, name: str = None) -> Set: 6396 return Set(self._Entity.Create(name)) 6397 6398 @overload 6399 def Get(self, name: str) -> Set: ... 6400 6401 @overload 6402 def Get(self, id: int) -> Set: ... 6403 6404 def Get(self, item1 = None) -> Set: 6405 if isinstance(item1, str): 6406 return Set(super().Get(item1)) 6407 6408 if isinstance(item1, int): 6409 return Set(super().Get(item1)) 6410 6411 return self._Entity.Get(item1) 6412 6413 def __getitem__(self, index: int): 6414 return self.SetColList[index] 6415 6416 def __iter__(self): 6417 yield from self.SetColList 6418 6419 def __len__(self): 6420 return len(self.SetColList) 6421 6422 6423class StructureCol(ZoneJointContainerCol[Structure]): 6424 def __init__(self, structureCol: _api.StructureCol): 6425 self._Entity = structureCol 6426 self._CollectedClass = Structure 6427 6428 @property 6429 def StructureColList(self) -> tuple[Structure]: 6430 return tuple([Structure(structureCol) for structureCol in self._Entity]) 6431 6432 def Create(self, name: str = None) -> Structure: 6433 return Structure(self._Entity.Create(name)) 6434 6435 @overload 6436 def DeleteStructure(self, structure: Structure) -> bool: ... 6437 6438 @overload 6439 def DeleteStructure(self, name: str) -> bool: ... 6440 6441 @overload 6442 def DeleteStructure(self, id: int) -> bool: ... 6443 6444 @overload 6445 def Get(self, name: str) -> Structure: ... 6446 6447 @overload 6448 def Get(self, id: int) -> Structure: ... 6449 6450 def DeleteStructure(self, item1 = None) -> bool: 6451 if isinstance(item1, Structure): 6452 return self._Entity.DeleteStructure(item1._Entity) 6453 6454 if isinstance(item1, str): 6455 return self._Entity.DeleteStructure(item1) 6456 6457 if isinstance(item1, int): 6458 return self._Entity.DeleteStructure(item1) 6459 6460 return self._Entity.DeleteStructure(item1._Entity) 6461 6462 def Get(self, item1 = None) -> Structure: 6463 if isinstance(item1, str): 6464 return Structure(super().Get(item1)) 6465 6466 if isinstance(item1, int): 6467 return Structure(super().Get(item1)) 6468 6469 return self._Entity.Get(item1) 6470 6471 def __getitem__(self, index: int): 6472 return self.StructureColList[index] 6473 6474 def __iter__(self): 6475 yield from self.StructureColList 6476 6477 def __len__(self): 6478 return len(self.StructureColList) 6479 6480 6481class Project: 6482 ''' 6483 Represents a HyperX project within a database. 6484 ''' 6485 def __init__(self, project: _api.Project): 6486 self._Entity = project 6487 6488 @property 6489 def HyperFea(self) -> HyperFea: 6490 result = self._Entity.HyperFea 6491 return HyperFea(result) if result is not None else None 6492 6493 @property 6494 def WorkingFolder(self) -> str: 6495 return self._Entity.WorkingFolder 6496 6497 @property 6498 def FemDataSet(self) -> FemDataSet: 6499 result = self._Entity.FemDataSet 6500 return FemDataSet(result) if result is not None else None 6501 6502 @property 6503 def Beams(self) -> ZoneCol: 6504 result = self._Entity.Beams 6505 return ZoneCol(result) if result is not None else None 6506 6507 @property 6508 def Id(self) -> int: 6509 return self._Entity.Id 6510 6511 @property 6512 def Joints(self) -> JointCol: 6513 result = self._Entity.Joints 6514 return JointCol(result) if result is not None else None 6515 6516 @property 6517 def Name(self) -> str: 6518 return self._Entity.Name 6519 6520 @property 6521 def Panels(self) -> ZoneCol: 6522 result = self._Entity.Panels 6523 return ZoneCol(result) if result is not None else None 6524 6525 @property 6526 def Rundecks(self) -> RundeckCol: 6527 result = self._Entity.Rundecks 6528 return RundeckCol(result) if result is not None else None 6529 6530 @property 6531 def Sets(self) -> SetCol: 6532 result = self._Entity.Sets 6533 return SetCol(result) if result is not None else None 6534 6535 @property 6536 def Structures(self) -> StructureCol: 6537 result = self._Entity.Structures 6538 return StructureCol(result) if result is not None else None 6539 6540 @property 6541 def Zones(self) -> ZoneCol: 6542 result = self._Entity.Zones 6543 return ZoneCol(result) if result is not None else None 6544 6545 @property 6546 def PanelSegments(self) -> PanelSegmentCol: 6547 result = self._Entity.PanelSegments 6548 return PanelSegmentCol(result) if result is not None else None 6549 6550 @property 6551 def SectionCuts(self) -> SectionCutCol: 6552 result = self._Entity.SectionCuts 6553 return SectionCutCol(result) if result is not None else None 6554 6555 @property 6556 def DesignLoads(self) -> DesignLoadCol: 6557 result = self._Entity.DesignLoads 6558 return DesignLoadCol(result) if result is not None else None 6559 6560 @property 6561 def DiscreteFieldTables(self) -> DiscreteFieldCol: 6562 result = self._Entity.DiscreteFieldTables 6563 return DiscreteFieldCol(result) if result is not None else None 6564 6565 @property 6566 def AnalysisProperties(self) -> AnalysisPropertyCol: 6567 result = self._Entity.AnalysisProperties 6568 return AnalysisPropertyCol(result) if result is not None else None 6569 6570 @property 6571 def DesignProperties(self) -> DesignPropertyCol: 6572 result = self._Entity.DesignProperties 6573 return DesignPropertyCol(result) if result is not None else None 6574 6575 @property 6576 def LoadProperties(self) -> LoadPropertyCol: 6577 result = self._Entity.LoadProperties 6578 return LoadPropertyCol(result) if result is not None else None 6579 6580 @property 6581 def FemFormat(self) -> types.ProjectModelFormat: 6582 return types.ProjectModelFormat[self._Entity.FemFormat.ToString()] 6583 6584 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6585 tagsList = List[str]() 6586 if tags is not None: 6587 for thing in tags: 6588 if thing is not None: 6589 tagsList.Add(thing) 6590 zoneIdsSet = HashSet[int]() 6591 if zoneIds is not None: 6592 for thing in zoneIds: 6593 if thing is not None: 6594 zoneIdsSet.Add(thing) 6595 jointIdsSet = HashSet[int]() 6596 if jointIds is not None: 6597 for thing in jointIds: 6598 if thing is not None: 6599 jointIdsSet.Add(thing) 6600 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet) 6601 6602 def GetDashboardCompanies(self) -> list[str]: 6603 ''' 6604 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6605 Dashboard login made through HyperX. 6606 ''' 6607 return list[str](self._Entity.GetDashboardCompanies()) 6608 6609 def GetDashboardPrograms(self, companyName: str) -> list[str]: 6610 return list[str](self._Entity.GetDashboardPrograms(companyName)) 6611 6612 def GetDashboardTags(self, companyName: str) -> list[str]: 6613 return list[str](self._Entity.GetDashboardTags(companyName)) 6614 6615 def GenerateSolverSizingInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6616 zonesSet = HashSet[int]() 6617 if zones is not None: 6618 for thing in zones: 6619 if thing is not None: 6620 zonesSet.Add(thing) 6621 sectionCutsSet = HashSet[int]() 6622 if sectionCuts is not None: 6623 for thing in sectionCuts: 6624 if thing is not None: 6625 sectionCutsSet.Add(thing) 6626 panelSegmentsSet = HashSet[int]() 6627 if panelSegments is not None: 6628 for thing in panelSegments: 6629 if thing is not None: 6630 panelSegmentsSet.Add(thing) 6631 return self._Entity.GenerateSolverSizingInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet) 6632 6633 def GenerateSolverAnalysisInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6634 zonesSet = HashSet[int]() 6635 if zones is not None: 6636 for thing in zones: 6637 if thing is not None: 6638 zonesSet.Add(thing) 6639 sectionCutsSet = HashSet[int]() 6640 if sectionCuts is not None: 6641 for thing in sectionCuts: 6642 if thing is not None: 6643 sectionCutsSet.Add(thing) 6644 panelSegmentsSet = HashSet[int]() 6645 if panelSegments is not None: 6646 for thing in panelSegments: 6647 if thing is not None: 6648 panelSegmentsSet.Add(thing) 6649 return self._Entity.GenerateSolverAnalysisInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet) 6650 6651 def FullRunSolverSizing(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6652 zonesSet = HashSet[int]() 6653 if zones is not None: 6654 for thing in zones: 6655 if thing is not None: 6656 zonesSet.Add(thing) 6657 sectionCutsSet = HashSet[int]() 6658 if sectionCuts is not None: 6659 for thing in sectionCuts: 6660 if thing is not None: 6661 sectionCutsSet.Add(thing) 6662 panelSegmentsSet = HashSet[int]() 6663 if panelSegments is not None: 6664 for thing in panelSegments: 6665 if thing is not None: 6666 panelSegmentsSet.Add(thing) 6667 return self._Entity.FullRunSolverSizing(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads) 6668 6669 def FullRunSolverAnalysis(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6670 zonesSet = HashSet[int]() 6671 if zones is not None: 6672 for thing in zones: 6673 if thing is not None: 6674 zonesSet.Add(thing) 6675 sectionCutsSet = HashSet[int]() 6676 if sectionCuts is not None: 6677 for thing in sectionCuts: 6678 if thing is not None: 6679 sectionCutsSet.Add(thing) 6680 panelSegmentsSet = HashSet[int]() 6681 if panelSegments is not None: 6682 for thing in panelSegments: 6683 if thing is not None: 6684 panelSegmentsSet.Add(thing) 6685 return self._Entity.FullRunSolverAnalysis(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads) 6686 6687 def RunSolver(self, inputFile: str, outputFile: str = None, nThreads: int = None) -> bool: 6688 return self._Entity.RunSolver(inputFile, outputFile, nThreads) 6689 6690 def Dispose(self) -> None: 6691 return self._Entity.Dispose() 6692 6693 def ImportFem(self) -> None: 6694 return self._Entity.ImportFem() 6695 6696 def ImportFeaResults(self, alwaysImport: bool = False) -> str: 6697 return self._Entity.ImportFeaResults(alwaysImport) 6698 6699 def SetFemFormat(self, femFormat: types.ProjectModelFormat) -> None: 6700 return self._Entity.SetFemFormat(_types.ProjectModelFormat(femFormat.value)) 6701 6702 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6703 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()] 6704 6705 def SizeJoints(self, joints: list[Joint] = None) -> tuple[bool, str, set[int]]: 6706 jointsList = List[_api.Joint]() 6707 if joints is not None: 6708 for thing in joints: 6709 if thing is not None: 6710 jointsList.Add(thing._Entity) 6711 result = self._Entity.SizeJoints(joints if joints is None else jointsList) 6712 return tuple([result.Item1, result.Item2, result.Item3]) 6713 6714 @overload 6715 def AnalyzeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6716 6717 @overload 6718 def AnalyzeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6719 6720 @overload 6721 def SizeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6722 6723 @overload 6724 def SizeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6725 6726 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6727 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6728 thisClass = type(result).__name__ 6729 givenClass = Zone 6730 for subclass in Zone.__subclasses__(): 6731 if subclass.__name__ == thisClass: 6732 givenClass = subclass 6733 return givenClass(result) 6734 6735 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6736 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6737 jointIdsSet = HashSet[int]() 6738 if jointIds is not None: 6739 for thing in jointIds: 6740 if thing is not None: 6741 jointIdsSet.Add(thing) 6742 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet) 6743 6744 def UnimportFemAsync(self) -> Task: 6745 return Task(self._Entity.UnimportFemAsync()) 6746 6747 def ExportFem(self, destinationFolder: str) -> None: 6748 return self._Entity.ExportFem(destinationFolder) 6749 6750 def ImportCad(self, filePath: str) -> None: 6751 return self._Entity.ImportCad(filePath) 6752 6753 @overload 6754 def ExportCad(self, filePath: str) -> None: ... 6755 6756 @overload 6757 def ExportCad(self, cadIds: tuple[int], filePath: str) -> None: ... 6758 6759 def RegeneratePfem(self) -> None: 6760 ''' 6761 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6762 do not call this method 6763 ''' 6764 return self._Entity.RegeneratePfem() 6765 6766 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6767 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6768 zonesList = List[_api.Zone]() 6769 if item1 is not None: 6770 for thing in item1: 6771 if thing is not None: 6772 zonesList.Add(thing._Entity) 6773 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6774 6775 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6776 zoneIdsList = MakeCSharpIntList(item1) 6777 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6778 6779 return self._Entity.AnalyzeZones(item1) 6780 6781 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6782 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6783 zonesList = List[_api.Zone]() 6784 if item1 is not None: 6785 for thing in item1: 6786 if thing is not None: 6787 zonesList.Add(thing._Entity) 6788 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6789 6790 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6791 zoneIdsList = MakeCSharpIntList(item1) 6792 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6793 6794 return self._Entity.SizeZones(item1) 6795 6796 def ExportCad(self, item1 = None, item2 = None) -> None: 6797 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, str): 6798 cadIdsList = MakeCSharpIntList(item1) 6799 cadIdsEnumerable = IEnumerable(cadIdsList) 6800 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6801 6802 if isinstance(item1, str): 6803 return self._Entity.ExportCad(item1) 6804 6805 return self._Entity.ExportCad(item1, item2) 6806 6807 6808class ProjectInfo(IdNameEntityRenameable): 6809 def __init__(self, projectInfo: _api.ProjectInfo): 6810 self._Entity = projectInfo 6811 6812 6813class FailureModeCategoryCol(IdNameEntityCol[FailureModeCategory]): 6814 def __init__(self, failureModeCategoryCol: _api.FailureModeCategoryCol): 6815 self._Entity = failureModeCategoryCol 6816 self._CollectedClass = FailureModeCategory 6817 6818 @property 6819 def FailureModeCategoryColList(self) -> tuple[FailureModeCategory]: 6820 return tuple([FailureModeCategory(failureModeCategoryCol) for failureModeCategoryCol in self._Entity]) 6821 6822 @overload 6823 def Get(self, name: str) -> FailureModeCategory: ... 6824 6825 @overload 6826 def Get(self, id: int) -> FailureModeCategory: ... 6827 6828 def Get(self, item1 = None) -> FailureModeCategory: 6829 if isinstance(item1, str): 6830 return FailureModeCategory(super().Get(item1)) 6831 6832 if isinstance(item1, int): 6833 return FailureModeCategory(super().Get(item1)) 6834 6835 return self._Entity.Get(item1) 6836 6837 def __getitem__(self, index: int): 6838 return self.FailureModeCategoryColList[index] 6839 6840 def __iter__(self): 6841 yield from self.FailureModeCategoryColList 6842 6843 def __len__(self): 6844 return len(self.FailureModeCategoryColList) 6845 6846 6847class FoamCol(Generic[T]): 6848 def __init__(self, foamCol: _api.FoamCol): 6849 self._Entity = foamCol 6850 6851 @property 6852 def FoamColList(self) -> tuple[Foam]: 6853 return tuple([Foam(foamCol) for foamCol in self._Entity]) 6854 6855 def Count(self) -> int: 6856 return self._Entity.Count() 6857 6858 def Get(self, materialName: str) -> Foam: 6859 return Foam(self._Entity.Get(materialName)) 6860 6861 def Contains(self, materialName: str) -> bool: 6862 return self._Entity.Contains(materialName) 6863 6864 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Foam: 6865 return Foam(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6866 6867 def Copy(self, fmToCopyName: str, newMaterialName: str = None, femId: int = None) -> Foam: 6868 return Foam(self._Entity.Copy(fmToCopyName, newMaterialName, femId)) 6869 6870 def Delete(self, materialName: str) -> bool: 6871 return self._Entity.Delete(materialName) 6872 6873 def __getitem__(self, index: int): 6874 return self.FoamColList[index] 6875 6876 def __iter__(self): 6877 yield from self.FoamColList 6878 6879 def __len__(self): 6880 return len(self.FoamColList) 6881 6882 6883class HoneycombCol(Generic[T]): 6884 def __init__(self, honeycombCol: _api.HoneycombCol): 6885 self._Entity = honeycombCol 6886 6887 @property 6888 def HoneycombColList(self) -> tuple[Honeycomb]: 6889 return tuple([Honeycomb(honeycombCol) for honeycombCol in self._Entity]) 6890 6891 def Count(self) -> int: 6892 return self._Entity.Count() 6893 6894 def Get(self, materialName: str) -> Honeycomb: 6895 return Honeycomb(self._Entity.Get(materialName)) 6896 6897 def Contains(self, materialName: str) -> bool: 6898 return self._Entity.Contains(materialName) 6899 6900 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Honeycomb: 6901 return Honeycomb(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6902 6903 def Copy(self, honeyToCopyName: str, newMaterialName: str = None, femId: int = None) -> Honeycomb: 6904 return Honeycomb(self._Entity.Copy(honeyToCopyName, newMaterialName, femId)) 6905 6906 def Delete(self, materialName: str) -> bool: 6907 return self._Entity.Delete(materialName) 6908 6909 def __getitem__(self, index: int): 6910 return self.HoneycombColList[index] 6911 6912 def __iter__(self): 6913 yield from self.HoneycombColList 6914 6915 def __len__(self): 6916 return len(self.HoneycombColList) 6917 6918 6919class IsotropicCol(Generic[T]): 6920 def __init__(self, isotropicCol: _api.IsotropicCol): 6921 self._Entity = isotropicCol 6922 6923 @property 6924 def IsotropicColList(self) -> tuple[Isotropic]: 6925 return tuple([Isotropic(isotropicCol) for isotropicCol in self._Entity]) 6926 6927 def Count(self) -> int: 6928 return self._Entity.Count() 6929 6930 def Get(self, materialName: str) -> Isotropic: 6931 return Isotropic(self._Entity.Get(materialName)) 6932 6933 def Contains(self, materialName: str) -> bool: 6934 return self._Entity.Contains(materialName) 6935 6936 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Isotropic: 6937 return Isotropic(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6938 6939 def Copy(self, isoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Isotropic: 6940 return Isotropic(self._Entity.Copy(isoToCopyName, newMaterialName, femId)) 6941 6942 def Delete(self, materialName: str) -> bool: 6943 return self._Entity.Delete(materialName) 6944 6945 def __getitem__(self, index: int): 6946 return self.IsotropicColList[index] 6947 6948 def __iter__(self): 6949 yield from self.IsotropicColList 6950 6951 def __len__(self): 6952 return len(self.IsotropicColList) 6953 6954 6955class LaminateFamilyCol(IdNameEntityCol[LaminateFamily]): 6956 def __init__(self, laminateFamilyCol: _api.LaminateFamilyCol): 6957 self._Entity = laminateFamilyCol 6958 self._CollectedClass = LaminateFamily 6959 6960 @property 6961 def LaminateFamilyColList(self) -> tuple[LaminateFamily]: 6962 return tuple([LaminateFamily(laminateFamilyCol) for laminateFamilyCol in self._Entity]) 6963 6964 @overload 6965 def Get(self, name: str) -> LaminateFamily: ... 6966 6967 @overload 6968 def Get(self, id: int) -> LaminateFamily: ... 6969 6970 def Get(self, item1 = None) -> LaminateFamily: 6971 if isinstance(item1, str): 6972 return LaminateFamily(super().Get(item1)) 6973 6974 if isinstance(item1, int): 6975 return LaminateFamily(super().Get(item1)) 6976 6977 return self._Entity.Get(item1) 6978 6979 def __getitem__(self, index: int): 6980 return self.LaminateFamilyColList[index] 6981 6982 def __iter__(self): 6983 yield from self.LaminateFamilyColList 6984 6985 def __len__(self): 6986 return len(self.LaminateFamilyColList) 6987 6988 6989class LaminateCol(Generic[T]): 6990 def __init__(self, laminateCol: _api.LaminateCol): 6991 self._Entity = laminateCol 6992 6993 @property 6994 def LaminateColList(self) -> tuple[Laminate]: 6995 return tuple([Laminate(laminateCol) for laminateCol in self._Entity]) 6996 6997 def Count(self) -> int: 6998 return self._Entity.Count() 6999 7000 def Get(self, laminateName: str) -> LaminateBase: 7001 result = self._Entity.Get(laminateName) 7002 thisClass = type(result).__name__ 7003 givenClass = LaminateBase 7004 for subclass in LaminateBase.__subclasses__(): 7005 if subclass.__name__ == thisClass: 7006 givenClass = subclass 7007 return givenClass(result) 7008 7009 def Contains(self, laminateName: str) -> bool: 7010 return self._Entity.Contains(laminateName) 7011 7012 def CreateLaminate(self, materialFamily: str, laminateName: str = None) -> Laminate: 7013 return Laminate(self._Entity.CreateLaminate(materialFamily, laminateName)) 7014 7015 def CreateStiffenerLaminate(self, materialFamily: str, stiffenerProfile: types.StiffenerProfile, laminateName: str = None) -> StiffenerLaminate: 7016 return StiffenerLaminate(self._Entity.CreateStiffenerLaminate(materialFamily, _types.StiffenerProfile(stiffenerProfile.value), laminateName)) 7017 7018 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7019 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7020 thisClass = type(result).__name__ 7021 givenClass = LaminateBase 7022 for subclass in LaminateBase.__subclasses__(): 7023 if subclass.__name__ == thisClass: 7024 givenClass = subclass 7025 return givenClass(result) 7026 7027 def Delete(self, name: str) -> bool: 7028 return self._Entity.Delete(name) 7029 7030 def GetLaminate(self, name: str) -> Laminate: 7031 return Laminate(self._Entity.GetLaminate(name)) 7032 7033 def GetStiffenerLaminate(self, name: str) -> StiffenerLaminate: 7034 return StiffenerLaminate(self._Entity.GetStiffenerLaminate(name)) 7035 7036 def __getitem__(self, index: int): 7037 return self.LaminateColList[index] 7038 7039 def __iter__(self): 7040 yield from self.LaminateColList 7041 7042 def __len__(self): 7043 return len(self.LaminateColList) 7044 7045 7046class OrthotropicCol(Generic[T]): 7047 def __init__(self, orthotropicCol: _api.OrthotropicCol): 7048 self._Entity = orthotropicCol 7049 7050 @property 7051 def OrthotropicColList(self) -> tuple[Orthotropic]: 7052 return tuple([Orthotropic(orthotropicCol) for orthotropicCol in self._Entity]) 7053 7054 def Count(self) -> int: 7055 return self._Entity.Count() 7056 7057 def Get(self, materialName: str) -> Orthotropic: 7058 return Orthotropic(self._Entity.Get(materialName)) 7059 7060 def Contains(self, materialName: str) -> bool: 7061 return self._Entity.Contains(materialName) 7062 7063 def Create(self, materialFamilyName: str, thickness: float, density: float, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7064 return Orthotropic(self._Entity.Create(materialFamilyName, thickness, density, newMaterialName, femId)) 7065 7066 def Copy(self, orthoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7067 return Orthotropic(self._Entity.Copy(orthoToCopyName, newMaterialName, femId)) 7068 7069 def Delete(self, materialName: str) -> bool: 7070 return self._Entity.Delete(materialName) 7071 7072 def __getitem__(self, index: int): 7073 return self.OrthotropicColList[index] 7074 7075 def __iter__(self): 7076 yield from self.OrthotropicColList 7077 7078 def __len__(self): 7079 return len(self.OrthotropicColList) 7080 7081 7082class PluginPackageCol(IdNameEntityCol[PluginPackage]): 7083 def __init__(self, pluginPackageCol: _api.PluginPackageCol): 7084 self._Entity = pluginPackageCol 7085 self._CollectedClass = PluginPackage 7086 7087 @property 7088 def PluginPackageColList(self) -> tuple[PluginPackage]: 7089 return tuple([PluginPackage(pluginPackageCol) for pluginPackageCol in self._Entity]) 7090 7091 def AddPluginPackage(self, path: str) -> PluginPackage: 7092 return PluginPackage(self._Entity.AddPluginPackage(path)) 7093 7094 @overload 7095 def RemovePluginPackage(self, name: str) -> bool: ... 7096 7097 @overload 7098 def RemovePluginPackage(self, id: int) -> bool: ... 7099 7100 def ClearAllPluginPackages(self) -> None: 7101 ''' 7102 Clears all packages out of the database 7103 ''' 7104 return self._Entity.ClearAllPluginPackages() 7105 7106 def GetPluginPackages(self) -> list[PluginPackage]: 7107 ''' 7108 Gets a list of package info 7109 Includes name, id, file path, version, description, and modification date 7110 ''' 7111 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()] 7112 7113 @overload 7114 def Get(self, name: str) -> PluginPackage: ... 7115 7116 @overload 7117 def Get(self, id: int) -> PluginPackage: ... 7118 7119 def RemovePluginPackage(self, item1 = None) -> bool: 7120 if isinstance(item1, str): 7121 return self._Entity.RemovePluginPackage(item1) 7122 7123 if isinstance(item1, int): 7124 return self._Entity.RemovePluginPackage(item1) 7125 7126 return self._Entity.RemovePluginPackage(item1) 7127 7128 def Get(self, item1 = None) -> PluginPackage: 7129 if isinstance(item1, str): 7130 return PluginPackage(super().Get(item1)) 7131 7132 if isinstance(item1, int): 7133 return PluginPackage(super().Get(item1)) 7134 7135 return self._Entity.Get(item1) 7136 7137 def __getitem__(self, index: int): 7138 return self.PluginPackageColList[index] 7139 7140 def __iter__(self): 7141 yield from self.PluginPackageColList 7142 7143 def __len__(self): 7144 return len(self.PluginPackageColList) 7145 7146 7147class ProjectInfoCol(IdNameEntityCol[ProjectInfo]): 7148 def __init__(self, projectInfoCol: _api.ProjectInfoCol): 7149 self._Entity = projectInfoCol 7150 self._CollectedClass = ProjectInfo 7151 7152 @property 7153 def ProjectInfoColList(self) -> tuple[ProjectInfo]: 7154 return tuple([ProjectInfo(projectInfoCol) for projectInfoCol in self._Entity]) 7155 7156 @overload 7157 def Get(self, name: str) -> ProjectInfo: ... 7158 7159 @overload 7160 def Get(self, id: int) -> ProjectInfo: ... 7161 7162 def Get(self, item1 = None) -> ProjectInfo: 7163 if isinstance(item1, str): 7164 return ProjectInfo(super().Get(item1)) 7165 7166 if isinstance(item1, int): 7167 return ProjectInfo(super().Get(item1)) 7168 7169 return self._Entity.Get(item1) 7170 7171 def __getitem__(self, index: int): 7172 return self.ProjectInfoColList[index] 7173 7174 def __iter__(self): 7175 yield from self.ProjectInfoColList 7176 7177 def __len__(self): 7178 return len(self.ProjectInfoColList) 7179 7180 7181class Application: 7182 ''' 7183 HyperX scripting application. 7184 This API is not guaranteed to be thread-safe. 7185 Calls into a single application instance or its descendents are not safe to be called concurrently. 7186 7187 However, it is safe enough for integration testing to have multiple 7188 application instances with a single process. 7189 ''' 7190 def __init__(self, application: _api.Application): 7191 self._Entity = application 7192 7193 @property 7194 def CompilationDate(self) -> str: 7195 return self._Entity.CompilationDate 7196 7197 @property 7198 def DatabasePath(self) -> str: 7199 return self._Entity.DatabasePath 7200 7201 @property 7202 def ActiveProject(self) -> Project: 7203 ''' 7204 Represents a HyperX project within a database. 7205 ''' 7206 result = self._Entity.ActiveProject 7207 return Project(result) if result is not None else None 7208 7209 @property 7210 def UiRunnerMode(self) -> bool: 7211 return self._Entity.UiRunnerMode 7212 7213 @property 7214 def Version(self) -> str: 7215 return self._Entity.Version 7216 7217 @property 7218 def FailureModeCategories(self) -> FailureModeCategoryCol: 7219 result = self._Entity.FailureModeCategories 7220 return FailureModeCategoryCol(result) if result is not None else None 7221 7222 @property 7223 def FailureModes(self) -> FailureModeCol: 7224 result = self._Entity.FailureModes 7225 return FailureModeCol(result) if result is not None else None 7226 7227 @property 7228 def Packages(self) -> PluginPackageCol: 7229 result = self._Entity.Packages 7230 return PluginPackageCol(result) if result is not None else None 7231 7232 @property 7233 def Foams(self) -> FoamCol: 7234 ''' 7235 Contains a set of all foam materials in a database. 7236 ''' 7237 result = self._Entity.Foams 7238 return FoamCol(result) if result is not None else None 7239 7240 @property 7241 def Honeycombs(self) -> HoneycombCol: 7242 ''' 7243 Contains a set of all honeycomb materials in a database. 7244 ''' 7245 result = self._Entity.Honeycombs 7246 return HoneycombCol(result) if result is not None else None 7247 7248 @property 7249 def Isotropics(self) -> IsotropicCol: 7250 ''' 7251 Contains a set of all isotropic materials in a database. 7252 ''' 7253 result = self._Entity.Isotropics 7254 return IsotropicCol(result) if result is not None else None 7255 7256 @property 7257 def Laminates(self) -> LaminateCol: 7258 result = self._Entity.Laminates 7259 return LaminateCol(result) if result is not None else None 7260 7261 @property 7262 def LaminateFamilies(self) -> LaminateFamilyCol: 7263 result = self._Entity.LaminateFamilies 7264 return LaminateFamilyCol(result) if result is not None else None 7265 7266 @property 7267 def AnalysisProperties(self) -> AnalysisPropertyCol: 7268 result = self._Entity.AnalysisProperties 7269 return AnalysisPropertyCol(result) if result is not None else None 7270 7271 @property 7272 def DesignProperties(self) -> DesignPropertyCol: 7273 result = self._Entity.DesignProperties 7274 return DesignPropertyCol(result) if result is not None else None 7275 7276 @property 7277 def LoadProperties(self) -> LoadPropertyCol: 7278 result = self._Entity.LoadProperties 7279 return LoadPropertyCol(result) if result is not None else None 7280 7281 @property 7282 def Orthotropics(self) -> OrthotropicCol: 7283 ''' 7284 Contains a set of all orthotropic materials in a database. 7285 ''' 7286 result = self._Entity.Orthotropics 7287 return OrthotropicCol(result) if result is not None else None 7288 7289 @property 7290 def ProjectInfos(self) -> ProjectInfoCol: 7291 ''' 7292 Contains a set of all projects in a database. 7293 ''' 7294 result = self._Entity.ProjectInfos 7295 return ProjectInfoCol(result) if result is not None else None 7296 7297 @property 7298 def UserName(self) -> str: 7299 return self._Entity.UserName 7300 7301 @UserName.setter 7302 def UserName(self, value: str) -> None: 7303 self._Entity.UserName = value 7304 7305 def CloseDatabase(self, delay: int = 0) -> None: 7306 return self._Entity.CloseDatabase(delay) 7307 7308 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7309 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder)) 7310 7311 def CreateDatabaseFromTemplate(self, templateName: str, newPath: str) -> None: 7312 return self._Entity.CreateDatabaseFromTemplate(templateName, newPath) 7313 7314 def CreateProject(self, projectName: str = None) -> ProjectInfo: 7315 return ProjectInfo(self._Entity.CreateProject(projectName)) 7316 7317 def DeleteProject(self, projectName: str) -> ProjectDeletionStatus: 7318 return ProjectDeletionStatus[self._Entity.DeleteProject(projectName).ToString()] 7319 7320 def Dispose(self) -> None: 7321 ''' 7322 Dispose of the application. Should be explicitly called after the application 7323 is no longer needed unless the application is wrapped with a using clause. 7324 ''' 7325 return self._Entity.Dispose() 7326 7327 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7328 ''' 7329 Get all Analysis Definitions in the database. 7330 ''' 7331 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses()) 7332 7333 def Login(self, userName: str, password: str = "") -> None: 7334 return self._Entity.Login(userName, password) 7335 7336 def Migrate(self, databasePath: str) -> str: 7337 return self._Entity.Migrate(databasePath) 7338 7339 def CheckDatabaseIsUpToDate(self, databasePath: str) -> bool: 7340 return self._Entity.CheckDatabaseIsUpToDate(databasePath) 7341 7342 def OpenDatabase(self, databasePath: str) -> None: 7343 return self._Entity.OpenDatabase(databasePath) 7344 7345 def SelectProject(self, projectName: str) -> Project: 7346 return Project(self._Entity.SelectProject(projectName)) 7347 7348 7349class JointDesignProperty(DesignProperty): 7350 def __init__(self, jointDesignProperty: _api.JointDesignProperty): 7351 self._Entity = jointDesignProperty 7352 7353 7354class SizingMaterial(IdEntity): 7355 def __init__(self, sizingMaterial: _api.SizingMaterial): 7356 self._Entity = sizingMaterial 7357 7358 @property 7359 def MaterialId(self) -> int: 7360 return self._Entity.MaterialId 7361 7362 @property 7363 def MaterialType(self) -> types.MaterialType: 7364 ''' 7365 Represents a material's type. 7366 ''' 7367 return types.MaterialType[self._Entity.MaterialType.ToString()] 7368 7369 7370class SizingMaterialCol(IdEntityCol[SizingMaterial]): 7371 def __init__(self, sizingMaterialCol: _api.SizingMaterialCol): 7372 self._Entity = sizingMaterialCol 7373 self._CollectedClass = SizingMaterial 7374 7375 @property 7376 def SizingMaterialColList(self) -> tuple[SizingMaterial]: 7377 return tuple([SizingMaterial(sizingMaterialCol) for sizingMaterialCol in self._Entity]) 7378 7379 @overload 7380 def Get(self, name: str) -> SizingMaterial: ... 7381 7382 @overload 7383 def Contains(self, name: str) -> bool: ... 7384 7385 @overload 7386 def AddSizingMaterial(self, materialId: int) -> bool: ... 7387 7388 @overload 7389 def AddSizingMaterial(self, name: str) -> bool: ... 7390 7391 @overload 7392 def RemoveSizingMaterial(self, materialId: int) -> bool: ... 7393 7394 @overload 7395 def RemoveSizingMaterial(self, name: str) -> bool: ... 7396 7397 @overload 7398 def Contains(self, id: int) -> bool: ... 7399 7400 @overload 7401 def Get(self, id: int) -> SizingMaterial: ... 7402 7403 def Get(self, item1 = None) -> SizingMaterial: 7404 if isinstance(item1, str): 7405 return SizingMaterial(self._Entity.Get(item1)) 7406 7407 if isinstance(item1, int): 7408 return SizingMaterial(super().Get(item1)) 7409 7410 return self._Entity.Get(item1) 7411 7412 def Contains(self, item1 = None) -> bool: 7413 if isinstance(item1, str): 7414 return self._Entity.Contains(item1) 7415 7416 if isinstance(item1, int): 7417 return bool(super().Contains(item1)) 7418 7419 return self._Entity.Contains(item1) 7420 7421 def AddSizingMaterial(self, item1 = None) -> bool: 7422 if isinstance(item1, int): 7423 return self._Entity.AddSizingMaterial(item1) 7424 7425 if isinstance(item1, str): 7426 return self._Entity.AddSizingMaterial(item1) 7427 7428 return self._Entity.AddSizingMaterial(item1) 7429 7430 def RemoveSizingMaterial(self, item1 = None) -> bool: 7431 if isinstance(item1, int): 7432 return self._Entity.RemoveSizingMaterial(item1) 7433 7434 if isinstance(item1, str): 7435 return self._Entity.RemoveSizingMaterial(item1) 7436 7437 return self._Entity.RemoveSizingMaterial(item1) 7438 7439 def __getitem__(self, index: int): 7440 return self.SizingMaterialColList[index] 7441 7442 def __iter__(self): 7443 yield from self.SizingMaterialColList 7444 7445 def __len__(self): 7446 return len(self.SizingMaterialColList) 7447 7448 7449class ZoneOverride(IdEntity): 7450 def __init__(self, zoneOverride: _api.ZoneOverride): 7451 self._Entity = zoneOverride 7452 7453 @property 7454 def AllowMaterials(self) -> bool: 7455 return self._Entity.AllowMaterials 7456 7457 @property 7458 def ProjectId(self) -> int: 7459 return self._Entity.ProjectId 7460 7461 @property 7462 def DesignId(self) -> int: 7463 return self._Entity.DesignId 7464 7465 @property 7466 def FamilyId(self) -> types.BeamPanelFamily: 7467 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7468 7469 @property 7470 def ConceptId(self) -> int: 7471 return self._Entity.ConceptId 7472 7473 @property 7474 def VariableId(self) -> int: 7475 return self._Entity.VariableId 7476 7477 @property 7478 def MinBound(self) -> float: 7479 return self._Entity.MinBound 7480 7481 @property 7482 def MaxBound(self) -> float: 7483 return self._Entity.MaxBound 7484 7485 @property 7486 def StepSize(self) -> float: 7487 return self._Entity.StepSize 7488 7489 @property 7490 def MinPlies(self) -> int: 7491 return self._Entity.MinPlies 7492 7493 @property 7494 def MaxPlies(self) -> int: 7495 return self._Entity.MaxPlies 7496 7497 @property 7498 def PlyStepSize(self) -> int: 7499 return self._Entity.PlyStepSize 7500 7501 @property 7502 def InputMode(self) -> types.VariableInputMode: 7503 return types.VariableInputMode[self._Entity.InputMode.ToString()] 7504 7505 @property 7506 def SizingMaterials(self) -> SizingMaterialCol: 7507 result = self._Entity.SizingMaterials 7508 return SizingMaterialCol(result) if result is not None else None 7509 7510 @property 7511 def AnalysisValue(self) -> float: 7512 return self._Entity.AnalysisValue 7513 7514 @property 7515 def AnalysisMaterial(self) -> str: 7516 return self._Entity.AnalysisMaterial 7517 7518 @property 7519 def AnalysisMaterialType(self) -> types.MaterialType: 7520 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7521 7522 @MinBound.setter 7523 def MinBound(self, value: float) -> None: 7524 self._Entity.MinBound = value 7525 7526 @MaxBound.setter 7527 def MaxBound(self, value: float) -> None: 7528 self._Entity.MaxBound = value 7529 7530 @StepSize.setter 7531 def StepSize(self, value: float) -> None: 7532 self._Entity.StepSize = value 7533 7534 @MinPlies.setter 7535 def MinPlies(self, value: int) -> None: 7536 self._Entity.MinPlies = value 7537 7538 @MaxPlies.setter 7539 def MaxPlies(self, value: int) -> None: 7540 self._Entity.MaxPlies = value 7541 7542 @PlyStepSize.setter 7543 def PlyStepSize(self, value: int) -> None: 7544 self._Entity.PlyStepSize = value 7545 7546 @AnalysisValue.setter 7547 def AnalysisValue(self, value: float) -> None: 7548 self._Entity.AnalysisValue = value 7549 7550 @AnalysisMaterial.setter 7551 def AnalysisMaterial(self, value: str) -> None: 7552 self._Entity.AnalysisMaterial = value 7553 7554 7555class ToolingConstraint(IdNameEntity): 7556 ''' 7557 Tooling constraints are a feature of Design Properties for Zones. 7558 ''' 7559 def __init__(self, toolingConstraint: _api.ToolingConstraint): 7560 self._Entity = toolingConstraint 7561 7562 @property 7563 def ConstraintMax(self) -> float: 7564 return self._Entity.ConstraintMax 7565 7566 @property 7567 def ConstraintMin(self) -> float: 7568 return self._Entity.ConstraintMin 7569 7570 @property 7571 def ConstraintValue(self) -> float: 7572 return self._Entity.ConstraintValue 7573 7574 @property 7575 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7576 ''' 7577 Defines which selection a given tooling constraint is currently set to. 7578 ''' 7579 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()] 7580 7581 def SetToAnyValue(self) -> None: 7582 return self._Entity.SetToAnyValue() 7583 7584 def SetToInequality(self, value: float) -> None: 7585 return self._Entity.SetToInequality(value) 7586 7587 def SetToRange(self, min: float, max: float) -> None: 7588 return self._Entity.SetToRange(min, max) 7589 7590 def SetToValue(self, value: float) -> None: 7591 return self._Entity.SetToValue(value) 7592 7593 7594class ZoneOverrideCol(IdEntityCol[ZoneOverride]): 7595 def __init__(self, zoneOverrideCol: _api.ZoneOverrideCol): 7596 self._Entity = zoneOverrideCol 7597 self._CollectedClass = ZoneOverride 7598 7599 @property 7600 def ZoneOverrideColList(self) -> tuple[ZoneOverride]: 7601 return tuple([ZoneOverride(zoneOverrideCol) for zoneOverrideCol in self._Entity]) 7602 7603 def Get(self, zoneNumber: int) -> ZoneOverride: 7604 return ZoneOverride(self._Entity.Get(zoneNumber)) 7605 7606 def __getitem__(self, index: int): 7607 return self.ZoneOverrideColList[index] 7608 7609 def __iter__(self): 7610 yield from self.ZoneOverrideColList 7611 7612 def __len__(self): 7613 return len(self.ZoneOverrideColList) 7614 7615 7616class DesignVariable(IdEntity): 7617 ''' 7618 Holds design variable data. 7619 Min, max, steps, materials. 7620 ''' 7621 def __init__(self, designVariable: _api.DesignVariable): 7622 self._Entity = designVariable 7623 7624 @property 7625 def VariableParameter(self) -> types.VariableParameter: 7626 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 7627 7628 @property 7629 def AllowMaterials(self) -> bool: 7630 return self._Entity.AllowMaterials 7631 7632 @property 7633 def Max(self) -> float: 7634 return self._Entity.Max 7635 7636 @property 7637 def Min(self) -> float: 7638 return self._Entity.Min 7639 7640 @property 7641 def Name(self) -> str: 7642 return self._Entity.Name 7643 7644 @property 7645 def StepSize(self) -> float: 7646 return self._Entity.StepSize 7647 7648 @property 7649 def UseAnalysis(self) -> bool: 7650 return self._Entity.UseAnalysis 7651 7652 @property 7653 def AnalysisMaterial(self) -> str: 7654 return self._Entity.AnalysisMaterial 7655 7656 @property 7657 def AnalysisMaterialType(self) -> types.MaterialType: 7658 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7659 7660 @property 7661 def SizingMaterialType(self) -> types.MaterialType: 7662 return types.MaterialType[self._Entity.SizingMaterialType.ToString()] 7663 7664 @property 7665 def AnalysisValue(self) -> float: 7666 return self._Entity.AnalysisValue 7667 7668 @property 7669 def Overrides(self) -> ZoneOverrideCol: 7670 result = self._Entity.Overrides 7671 return ZoneOverrideCol(result) if result is not None else None 7672 7673 @Max.setter 7674 def Max(self, value: float) -> None: 7675 self._Entity.Max = value 7676 7677 @Min.setter 7678 def Min(self, value: float) -> None: 7679 self._Entity.Min = value 7680 7681 @StepSize.setter 7682 def StepSize(self, value: float) -> None: 7683 self._Entity.StepSize = value 7684 7685 @UseAnalysis.setter 7686 def UseAnalysis(self, value: bool) -> None: 7687 self._Entity.UseAnalysis = value 7688 7689 @AnalysisMaterial.setter 7690 def AnalysisMaterial(self, value: str) -> None: 7691 self._Entity.AnalysisMaterial = value 7692 7693 @AnalysisValue.setter 7694 def AnalysisValue(self, value: float) -> None: 7695 self._Entity.AnalysisValue = value 7696 7697 @overload 7698 def AddMaterials(self, materialIds: set[int]) -> None: ... 7699 7700 @overload 7701 def AddMaterials(self, materialNames: set[str]) -> None: ... 7702 7703 def GetSizingMaterials(self) -> list[int]: 7704 ''' 7705 Get a list of materials used for sizing, if they exist. 7706 ''' 7707 return [int32 for int32 in self._Entity.GetSizingMaterials()] 7708 7709 def RemoveSizingMaterials(self, materialIds: tuple[int] = None) -> None: 7710 materialIdsList = MakeCSharpIntList(materialIds) 7711 materialIdsEnumerable = IEnumerable(materialIdsList) 7712 return self._Entity.RemoveSizingMaterials(materialIds if materialIds is None else materialIdsEnumerable) 7713 7714 def GetAnalysisMaterial(self) -> int: 7715 ''' 7716 Get the material used for analysis, if it exists. 7717 ''' 7718 return self._Entity.GetAnalysisMaterial() 7719 7720 def RemoveAnalysisMaterial(self) -> None: 7721 ''' 7722 Remove the analysis material assigned to this variable. 7723 ''' 7724 return self._Entity.RemoveAnalysisMaterial() 7725 7726 def AddMaterials(self, item1 = None) -> None: 7727 if isinstance(item1, set): 7728 materialIdsSet = HashSet[int]() 7729 if item1 is not None: 7730 for thing in item1: 7731 if thing is not None: 7732 materialIdsSet.Add(thing) 7733 return self._Entity.AddMaterials(materialIdsSet) 7734 7735 if isinstance(item1, set): 7736 materialNamesSet = HashSet[str]() 7737 if item1 is not None: 7738 for thing in item1: 7739 if thing is not None: 7740 materialNamesSet.Add(thing) 7741 return self._Entity.AddMaterials(materialNamesSet) 7742 7743 return self._Entity.AddMaterials(item1) 7744 7745 7746class ToolingConstraintCol(IdNameEntityCol[ToolingConstraint]): 7747 def __init__(self, toolingConstraintCol: _api.ToolingConstraintCol): 7748 self._Entity = toolingConstraintCol 7749 self._CollectedClass = ToolingConstraint 7750 7751 @property 7752 def ToolingConstraintColList(self) -> tuple[ToolingConstraint]: 7753 return tuple([ToolingConstraint(toolingConstraintCol) for toolingConstraintCol in self._Entity]) 7754 7755 @overload 7756 def Get(self, name: str) -> ToolingConstraint: ... 7757 7758 @overload 7759 def Get(self, id: int) -> ToolingConstraint: ... 7760 7761 def Get(self, item1 = None) -> ToolingConstraint: 7762 if isinstance(item1, str): 7763 return ToolingConstraint(super().Get(item1)) 7764 7765 if isinstance(item1, int): 7766 return ToolingConstraint(super().Get(item1)) 7767 7768 return self._Entity.Get(item1) 7769 7770 def __getitem__(self, index: int): 7771 return self.ToolingConstraintColList[index] 7772 7773 def __iter__(self): 7774 yield from self.ToolingConstraintColList 7775 7776 def __len__(self): 7777 return len(self.ToolingConstraintColList) 7778 7779 7780class DesignVariableCol(IdEntityCol[DesignVariable]): 7781 def __init__(self, designVariableCol: _api.DesignVariableCol): 7782 self._Entity = designVariableCol 7783 self._CollectedClass = DesignVariable 7784 7785 @property 7786 def DesignVariableColList(self) -> tuple[DesignVariable]: 7787 return tuple([DesignVariable(designVariableCol) for designVariableCol in self._Entity]) 7788 7789 @overload 7790 def Get(self, parameterId: types.VariableParameter) -> DesignVariable: ... 7791 7792 @overload 7793 def Get(self, id: int) -> DesignVariable: ... 7794 7795 def Get(self, item1 = None) -> DesignVariable: 7796 if isinstance(item1, types.VariableParameter): 7797 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 7798 7799 if isinstance(item1, int): 7800 return DesignVariable(super().Get(item1)) 7801 7802 return self._Entity.Get(_types.VariableParameter(item1.value)) 7803 7804 def __getitem__(self, index: int): 7805 return self.DesignVariableColList[index] 7806 7807 def __iter__(self): 7808 yield from self.DesignVariableColList 7809 7810 def __len__(self): 7811 return len(self.DesignVariableColList) 7812 7813 7814class ZoneDesignProperty(DesignProperty): 7815 def __init__(self, zoneDesignProperty: _api.ZoneDesignProperty): 7816 self._Entity = zoneDesignProperty 7817 7818 @property 7819 def FamilyId(self) -> types.BeamPanelFamily: 7820 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7821 7822 @property 7823 def ConceptId(self) -> int: 7824 return self._Entity.ConceptId 7825 7826 @property 7827 def FamilyConceptUID(self) -> types.FamilyConceptUID: 7828 return types.FamilyConceptUID[self._Entity.FamilyConceptUID.ToString()] 7829 7830 @property 7831 def ToolingConstraints(self) -> ToolingConstraintCol: 7832 result = self._Entity.ToolingConstraints 7833 return ToolingConstraintCol(result) if result is not None else None 7834 7835 @property 7836 def DesignVariables(self) -> DesignVariableCol: 7837 result = self._Entity.DesignVariables 7838 return DesignVariableCol(result) if result is not None else None 7839 7840 7841class BulkUpdaterBase(ABC): 7842 def __init__(self, bulkUpdaterBase: _api.BulkUpdaterBase): 7843 self._Entity = bulkUpdaterBase 7844 7845 def Update(self, func: Action) -> None: 7846 entityType = self._Entity.GetType().BaseType.GenericTypeArguments[0] 7847 funcAction = Action[entityType](func) 7848 return self._Entity.Update(funcAction) 7849 7850 7851class LoadPropertyUserRowBulkUpdater(BulkUpdaterBase): 7852 def __init__(self, loadPropertyUserRowBulkUpdater: _api.LoadPropertyUserRowBulkUpdater): 7853 self._Entity = loadPropertyUserRowBulkUpdater 7854 7855 7856class LoadPropertyUserRow(IdNameEntity): 7857 def __init__(self, loadPropertyUserRow: _api.LoadPropertyUserRow): 7858 self._Entity = loadPropertyUserRow 7859 7860 @property 7861 def LoadScenarioId(self) -> int: 7862 return self._Entity.LoadScenarioId 7863 7864 @property 7865 def LoadPropertyId(self) -> int: 7866 return self._Entity.LoadPropertyId 7867 7868 @property 7869 def Type(self) -> types.LoadSetType: 7870 return types.LoadSetType[self._Entity.Type.ToString()] 7871 7872 @property 7873 def ReferenceTemperature(self) -> float: 7874 return self._Entity.ReferenceTemperature 7875 7876 @property 7877 def PressureOrTemperature(self) -> float: 7878 return self._Entity.PressureOrTemperature 7879 7880 @property 7881 def LimitFactor(self) -> float: 7882 return self._Entity.LimitFactor 7883 7884 @property 7885 def UltimateFactor(self) -> float: 7886 return self._Entity.UltimateFactor 7887 7888 @ReferenceTemperature.setter 7889 def ReferenceTemperature(self, value: float) -> None: 7890 self._Entity.ReferenceTemperature = value 7891 7892 @PressureOrTemperature.setter 7893 def PressureOrTemperature(self, value: float) -> None: 7894 self._Entity.PressureOrTemperature = value 7895 7896 @LimitFactor.setter 7897 def LimitFactor(self, value: float) -> None: 7898 self._Entity.LimitFactor = value 7899 7900 @UltimateFactor.setter 7901 def UltimateFactor(self, value: float) -> None: 7902 self._Entity.UltimateFactor = value 7903 7904 7905class LoadPropertyUserBeamRow(LoadPropertyUserRow): 7906 def __init__(self, loadPropertyUserBeamRow: _api.LoadPropertyUserBeamRow): 7907 self._Entity = loadPropertyUserBeamRow 7908 7909 @property 7910 def M1A(self) -> float: 7911 return self._Entity.M1A 7912 7913 @property 7914 def M2A(self) -> float: 7915 return self._Entity.M2A 7916 7917 @property 7918 def M1B(self) -> float: 7919 return self._Entity.M1B 7920 7921 @property 7922 def M2B(self) -> float: 7923 return self._Entity.M2B 7924 7925 @property 7926 def V1(self) -> float: 7927 return self._Entity.V1 7928 7929 @property 7930 def V2(self) -> float: 7931 return self._Entity.V2 7932 7933 @property 7934 def Axial(self) -> float: 7935 return self._Entity.Axial 7936 7937 @property 7938 def Torque(self) -> float: 7939 return self._Entity.Torque 7940 7941 @M1A.setter 7942 def M1A(self, value: float) -> None: 7943 self._Entity.M1A = value 7944 7945 @M2A.setter 7946 def M2A(self, value: float) -> None: 7947 self._Entity.M2A = value 7948 7949 @M1B.setter 7950 def M1B(self, value: float) -> None: 7951 self._Entity.M1B = value 7952 7953 @M2B.setter 7954 def M2B(self, value: float) -> None: 7955 self._Entity.M2B = value 7956 7957 @V1.setter 7958 def V1(self, value: float) -> None: 7959 self._Entity.V1 = value 7960 7961 @V2.setter 7962 def V2(self, value: float) -> None: 7963 self._Entity.V2 = value 7964 7965 @Axial.setter 7966 def Axial(self, value: float) -> None: 7967 self._Entity.Axial = value 7968 7969 @Torque.setter 7970 def Torque(self, value: float) -> None: 7971 self._Entity.Torque = value 7972 7973 7974class LoadPropertyUserFeaBeamRow(LoadPropertyUserBeamRow): 7975 def __init__(self, loadPropertyUserFeaBeamRow: _api.LoadPropertyUserFeaBeamRow): 7976 self._Entity = loadPropertyUserFeaBeamRow 7977 7978 def SetName(self, name: str) -> None: 7979 return self._Entity.SetName(name) 7980 7981 7982class LoadPropertyUserFeaBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 7983 def __init__(self, loadPropertyUserFeaBeamRowBulkUpdater: _api.LoadPropertyUserFeaBeamRowBulkUpdater): 7984 self._Entity = loadPropertyUserFeaBeamRowBulkUpdater 7985 7986 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 7987 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 7988 if items is not None: 7989 for thing in items: 7990 if thing is not None: 7991 itemsList.Add(thing._Entity) 7992 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 7993 7994 7995class LoadPropertyUserPanelJointRow(LoadPropertyUserRow): 7996 def __init__(self, loadPropertyUserPanelJointRow: _api.LoadPropertyUserPanelJointRow): 7997 self._Entity = loadPropertyUserPanelJointRow 7998 7999 @property 8000 def Nx(self) -> float: 8001 return self._Entity.Nx 8002 8003 @property 8004 def Ny(self) -> float: 8005 return self._Entity.Ny 8006 8007 @property 8008 def Nxy(self) -> float: 8009 return self._Entity.Nxy 8010 8011 @property 8012 def Mx(self) -> float: 8013 return self._Entity.Mx 8014 8015 @property 8016 def My(self) -> float: 8017 return self._Entity.My 8018 8019 @property 8020 def Mxy(self) -> float: 8021 return self._Entity.Mxy 8022 8023 @property 8024 def Qx(self) -> float: 8025 return self._Entity.Qx 8026 8027 @property 8028 def Qy(self) -> float: 8029 return self._Entity.Qy 8030 8031 @Nx.setter 8032 def Nx(self, value: float) -> None: 8033 self._Entity.Nx = value 8034 8035 @Ny.setter 8036 def Ny(self, value: float) -> None: 8037 self._Entity.Ny = value 8038 8039 @Nxy.setter 8040 def Nxy(self, value: float) -> None: 8041 self._Entity.Nxy = value 8042 8043 @Mx.setter 8044 def Mx(self, value: float) -> None: 8045 self._Entity.Mx = value 8046 8047 @My.setter 8048 def My(self, value: float) -> None: 8049 self._Entity.My = value 8050 8051 @Mxy.setter 8052 def Mxy(self, value: float) -> None: 8053 self._Entity.Mxy = value 8054 8055 @Qx.setter 8056 def Qx(self, value: float) -> None: 8057 self._Entity.Qx = value 8058 8059 @Qy.setter 8060 def Qy(self, value: float) -> None: 8061 self._Entity.Qy = value 8062 8063 8064class LoadPropertyUserFeaJointRow(LoadPropertyUserPanelJointRow): 8065 def __init__(self, loadPropertyUserFeaJointRow: _api.LoadPropertyUserFeaJointRow): 8066 self._Entity = loadPropertyUserFeaJointRow 8067 8068 def SetName(self, name: str) -> None: 8069 return self._Entity.SetName(name) 8070 8071 8072class LoadPropertyUserFeaJointRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8073 def __init__(self, loadPropertyUserFeaJointRowBulkUpdater: _api.LoadPropertyUserFeaJointRowBulkUpdater): 8074 self._Entity = loadPropertyUserFeaJointRowBulkUpdater 8075 8076 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8077 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8078 if items is not None: 8079 for thing in items: 8080 if thing is not None: 8081 itemsList.Add(thing._Entity) 8082 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8083 8084 8085class LoadPropertyUserFeaPanelRow(LoadPropertyUserPanelJointRow): 8086 def __init__(self, loadPropertyUserFeaPanelRow: _api.LoadPropertyUserFeaPanelRow): 8087 self._Entity = loadPropertyUserFeaPanelRow 8088 8089 def SetName(self, name: str) -> None: 8090 return self._Entity.SetName(name) 8091 8092 8093class LoadPropertyUserFeaPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8094 def __init__(self, loadPropertyUserFeaPanelRowBulkUpdater: _api.LoadPropertyUserFeaPanelRowBulkUpdater): 8095 self._Entity = loadPropertyUserFeaPanelRowBulkUpdater 8096 8097 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8098 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8099 if items is not None: 8100 for thing in items: 8101 if thing is not None: 8102 itemsList.Add(thing._Entity) 8103 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8104 8105 8106class LoadPropertyUserGeneralBeamRow(LoadPropertyUserBeamRow): 8107 def __init__(self, loadPropertyUserGeneralBeamRow: _api.LoadPropertyUserGeneralBeamRow): 8108 self._Entity = loadPropertyUserGeneralBeamRow 8109 8110 @property 8111 def M1A(self) -> float: 8112 return self._Entity.M1A 8113 8114 @property 8115 def M2A(self) -> float: 8116 return self._Entity.M2A 8117 8118 @property 8119 def M1B(self) -> float: 8120 return self._Entity.M1B 8121 8122 @property 8123 def M2B(self) -> float: 8124 return self._Entity.M2B 8125 8126 @property 8127 def V1(self) -> float: 8128 return self._Entity.V1 8129 8130 @property 8131 def V2(self) -> float: 8132 return self._Entity.V2 8133 8134 @property 8135 def Axial(self) -> float: 8136 return self._Entity.Axial 8137 8138 @property 8139 def Torque(self) -> float: 8140 return self._Entity.Torque 8141 8142 @property 8143 def M1AType(self) -> types.BoundaryConditionType: 8144 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8145 8146 @property 8147 def M2AType(self) -> types.BoundaryConditionType: 8148 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8149 8150 @property 8151 def M1BType(self) -> types.BoundaryConditionType: 8152 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8153 8154 @property 8155 def M2BType(self) -> types.BoundaryConditionType: 8156 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8157 8158 @property 8159 def V1Type(self) -> types.BoundaryConditionType: 8160 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8161 8162 @property 8163 def V2Type(self) -> types.BoundaryConditionType: 8164 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8165 8166 @property 8167 def AxialType(self) -> types.BoundaryConditionType: 8168 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8169 8170 @property 8171 def TorqueType(self) -> types.BoundaryConditionType: 8172 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8173 8174 @M1A.setter 8175 def M1A(self, value: float) -> None: 8176 self._Entity.M1A = value 8177 8178 @M2A.setter 8179 def M2A(self, value: float) -> None: 8180 self._Entity.M2A = value 8181 8182 @M1B.setter 8183 def M1B(self, value: float) -> None: 8184 self._Entity.M1B = value 8185 8186 @M2B.setter 8187 def M2B(self, value: float) -> None: 8188 self._Entity.M2B = value 8189 8190 @V1.setter 8191 def V1(self, value: float) -> None: 8192 self._Entity.V1 = value 8193 8194 @V2.setter 8195 def V2(self, value: float) -> None: 8196 self._Entity.V2 = value 8197 8198 @Axial.setter 8199 def Axial(self, value: float) -> None: 8200 self._Entity.Axial = value 8201 8202 @Torque.setter 8203 def Torque(self, value: float) -> None: 8204 self._Entity.Torque = value 8205 8206 8207class LoadPropertyUserGeneralBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8208 def __init__(self, loadPropertyUserGeneralBeamRowBulkUpdater: _api.LoadPropertyUserGeneralBeamRowBulkUpdater): 8209 self._Entity = loadPropertyUserGeneralBeamRowBulkUpdater 8210 8211 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8212 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8213 if items is not None: 8214 for thing in items: 8215 if thing is not None: 8216 itemsList.Add(thing._Entity) 8217 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8218 8219 8220class LoadPropertyUserGeneralPanelRow(LoadPropertyUserPanelJointRow): 8221 def __init__(self, loadPropertyUserGeneralPanelRow: _api.LoadPropertyUserGeneralPanelRow): 8222 self._Entity = loadPropertyUserGeneralPanelRow 8223 8224 @property 8225 def Nx(self) -> float: 8226 return self._Entity.Nx 8227 8228 @property 8229 def Ny(self) -> float: 8230 return self._Entity.Ny 8231 8232 @property 8233 def Nxy(self) -> float: 8234 return self._Entity.Nxy 8235 8236 @property 8237 def Mx(self) -> float: 8238 return self._Entity.Mx 8239 8240 @property 8241 def My(self) -> float: 8242 return self._Entity.My 8243 8244 @property 8245 def Mxy(self) -> float: 8246 return self._Entity.Mxy 8247 8248 @property 8249 def Qx(self) -> float: 8250 return self._Entity.Qx 8251 8252 @property 8253 def Qy(self) -> float: 8254 return self._Entity.Qy 8255 8256 @property 8257 def NxType(self) -> types.BoundaryConditionType: 8258 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 8259 8260 @property 8261 def NyType(self) -> types.BoundaryConditionType: 8262 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 8263 8264 @property 8265 def NxyType(self) -> types.BoundaryConditionType: 8266 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 8267 8268 @property 8269 def MxType(self) -> types.BoundaryConditionType: 8270 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 8271 8272 @property 8273 def MyType(self) -> types.BoundaryConditionType: 8274 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 8275 8276 @property 8277 def MxyType(self) -> types.BoundaryConditionType: 8278 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 8279 8280 @property 8281 def QxType(self) -> types.BoundaryConditionType: 8282 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 8283 8284 @property 8285 def QyType(self) -> types.BoundaryConditionType: 8286 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 8287 8288 @Nx.setter 8289 def Nx(self, value: float) -> None: 8290 self._Entity.Nx = value 8291 8292 @Ny.setter 8293 def Ny(self, value: float) -> None: 8294 self._Entity.Ny = value 8295 8296 @Nxy.setter 8297 def Nxy(self, value: float) -> None: 8298 self._Entity.Nxy = value 8299 8300 @Mx.setter 8301 def Mx(self, value: float) -> None: 8302 self._Entity.Mx = value 8303 8304 @My.setter 8305 def My(self, value: float) -> None: 8306 self._Entity.My = value 8307 8308 @Mxy.setter 8309 def Mxy(self, value: float) -> None: 8310 self._Entity.Mxy = value 8311 8312 @Qx.setter 8313 def Qx(self, value: float) -> None: 8314 self._Entity.Qx = value 8315 8316 @Qy.setter 8317 def Qy(self, value: float) -> None: 8318 self._Entity.Qy = value 8319 8320 8321class LoadPropertyUserGeneralPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8322 def __init__(self, loadPropertyUserGeneralPanelRowBulkUpdater: _api.LoadPropertyUserGeneralPanelRowBulkUpdater): 8323 self._Entity = loadPropertyUserGeneralPanelRowBulkUpdater 8324 8325 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8326 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8327 if items is not None: 8328 for thing in items: 8329 if thing is not None: 8330 itemsList.Add(thing._Entity) 8331 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8332 8333 8334class LoadPropertyFea(LoadProperty): 8335 def __init__(self, loadPropertyFea: _api.LoadPropertyFea): 8336 self._Entity = loadPropertyFea 8337 8338 @property 8339 def HasNx(self) -> bool: 8340 return self._Entity.HasNx 8341 8342 @property 8343 def HasNy(self) -> bool: 8344 return self._Entity.HasNy 8345 8346 @property 8347 def HasNxy(self) -> bool: 8348 return self._Entity.HasNxy 8349 8350 @property 8351 def HasMx(self) -> bool: 8352 return self._Entity.HasMx 8353 8354 @property 8355 def HasMy(self) -> bool: 8356 return self._Entity.HasMy 8357 8358 @property 8359 def HasMxy(self) -> bool: 8360 return self._Entity.HasMxy 8361 8362 @property 8363 def HasQx(self) -> bool: 8364 return self._Entity.HasQx 8365 8366 @property 8367 def HasQy(self) -> bool: 8368 return self._Entity.HasQy 8369 8370 @property 8371 def HasM1a(self) -> bool: 8372 return self._Entity.HasM1a 8373 8374 @property 8375 def HasM1b(self) -> bool: 8376 return self._Entity.HasM1b 8377 8378 @property 8379 def M2a(self) -> bool: 8380 return self._Entity.M2a 8381 8382 @property 8383 def V1(self) -> bool: 8384 return self._Entity.V1 8385 8386 @property 8387 def V2(self) -> bool: 8388 return self._Entity.V2 8389 8390 @property 8391 def Axial(self) -> bool: 8392 return self._Entity.Axial 8393 8394 @property 8395 def Torque(self) -> bool: 8396 return self._Entity.Torque 8397 8398 @property 8399 def Tension(self) -> bool: 8400 return self._Entity.Tension 8401 8402 @property 8403 def Shear(self) -> bool: 8404 return self._Entity.Shear 8405 8406 @property 8407 def Moment(self) -> bool: 8408 return self._Entity.Moment 8409 8410 @HasNx.setter 8411 def HasNx(self, value: bool) -> None: 8412 self._Entity.HasNx = value 8413 8414 @HasNy.setter 8415 def HasNy(self, value: bool) -> None: 8416 self._Entity.HasNy = value 8417 8418 @HasNxy.setter 8419 def HasNxy(self, value: bool) -> None: 8420 self._Entity.HasNxy = value 8421 8422 @HasMx.setter 8423 def HasMx(self, value: bool) -> None: 8424 self._Entity.HasMx = value 8425 8426 @HasMy.setter 8427 def HasMy(self, value: bool) -> None: 8428 self._Entity.HasMy = value 8429 8430 @HasMxy.setter 8431 def HasMxy(self, value: bool) -> None: 8432 self._Entity.HasMxy = value 8433 8434 @HasQx.setter 8435 def HasQx(self, value: bool) -> None: 8436 self._Entity.HasQx = value 8437 8438 @HasQy.setter 8439 def HasQy(self, value: bool) -> None: 8440 self._Entity.HasQy = value 8441 8442 @HasM1a.setter 8443 def HasM1a(self, value: bool) -> None: 8444 self._Entity.HasM1a = value 8445 8446 @HasM1b.setter 8447 def HasM1b(self, value: bool) -> None: 8448 self._Entity.HasM1b = value 8449 8450 @M2a.setter 8451 def M2a(self, value: bool) -> None: 8452 self._Entity.M2a = value 8453 8454 @V1.setter 8455 def V1(self, value: bool) -> None: 8456 self._Entity.V1 = value 8457 8458 @V2.setter 8459 def V2(self, value: bool) -> None: 8460 self._Entity.V2 = value 8461 8462 @Axial.setter 8463 def Axial(self, value: bool) -> None: 8464 self._Entity.Axial = value 8465 8466 @Torque.setter 8467 def Torque(self, value: bool) -> None: 8468 self._Entity.Torque = value 8469 8470 @Tension.setter 8471 def Tension(self, value: bool) -> None: 8472 self._Entity.Tension = value 8473 8474 @Shear.setter 8475 def Shear(self, value: bool) -> None: 8476 self._Entity.Shear = value 8477 8478 @Moment.setter 8479 def Moment(self, value: bool) -> None: 8480 self._Entity.Moment = value 8481 8482 8483class LoadPropertyAverage(LoadPropertyFea): 8484 def __init__(self, loadPropertyAverage: _api.LoadPropertyAverage): 8485 self._Entity = loadPropertyAverage 8486 8487 @property 8488 def ElementType(self) -> types.LoadPropertyAverageElementType: 8489 return types.LoadPropertyAverageElementType[self._Entity.ElementType.ToString()] 8490 8491 @ElementType.setter 8492 def ElementType(self, value: types.LoadPropertyAverageElementType) -> None: 8493 self._Entity.ElementType = _types.LoadPropertyAverageElementType(value.value) 8494 8495 8496class LoadPropertyElementBased(LoadPropertyFea): 8497 def __init__(self, loadPropertyElementBased: _api.LoadPropertyElementBased): 8498 self._Entity = loadPropertyElementBased 8499 8500 8501class LoadPropertyNeighborAverage(LoadPropertyFea): 8502 def __init__(self, loadPropertyNeighborAverage: _api.LoadPropertyNeighborAverage): 8503 self._Entity = loadPropertyNeighborAverage 8504 8505 @property 8506 def NumberOfNeighborsPerSide(self) -> int: 8507 return self._Entity.NumberOfNeighborsPerSide 8508 8509 @NumberOfNeighborsPerSide.setter 8510 def NumberOfNeighborsPerSide(self, value: int) -> None: 8511 self._Entity.NumberOfNeighborsPerSide = value 8512 8513 8514class LoadPropertyPeakLoad(LoadPropertyFea): 8515 def __init__(self, loadPropertyPeakLoad: _api.LoadPropertyPeakLoad): 8516 self._Entity = loadPropertyPeakLoad 8517 8518 @property 8519 def ElementScope(self) -> types.LoadPropertyPeakElementScope: 8520 return types.LoadPropertyPeakElementScope[self._Entity.ElementScope.ToString()] 8521 8522 @ElementScope.setter 8523 def ElementScope(self, value: types.LoadPropertyPeakElementScope) -> None: 8524 self._Entity.ElementScope = _types.LoadPropertyPeakElementScope(value.value) 8525 8526 8527class LoadPropertyStatistical(LoadPropertyFea): 8528 def __init__(self, loadPropertyStatistical: _api.LoadPropertyStatistical): 8529 self._Entity = loadPropertyStatistical 8530 8531 @property 8532 def NSigma(self) -> int: 8533 return self._Entity.NSigma 8534 8535 @NSigma.setter 8536 def NSigma(self, value: int) -> None: 8537 self._Entity.NSigma = value 8538 8539 8540class LoadPropertyUserFeaRowCol(IdNameEntityCol, Generic[T]): 8541 def __init__(self, loadPropertyUserFeaRowCol: _api.LoadPropertyUserFeaRowCol): 8542 self._Entity = loadPropertyUserFeaRowCol 8543 self._CollectedClass = T 8544 8545 @property 8546 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8547 if self._Entity.Count() <= 0: 8548 return () 8549 thisClass = type(self._Entity._items[0]).__name__ 8550 givenClass = T 8551 for subclass in T.__subclasses__(): 8552 if subclass.__name__ == thisClass: 8553 givenClass = subclass 8554 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity]) 8555 8556 def AddScenario(self, name: str = None) -> T: 8557 return self._Entity.AddScenario(name) 8558 8559 @overload 8560 def DeleteScenario(self, scenarioId: int) -> bool: ... 8561 8562 @overload 8563 def DeleteScenario(self, scenarioName: str) -> bool: ... 8564 8565 @overload 8566 def Get(self, name: str) -> T: ... 8567 8568 @overload 8569 def Get(self, id: int) -> T: ... 8570 8571 def DeleteScenario(self, item1 = None) -> bool: 8572 if isinstance(item1, int): 8573 return self._Entity.DeleteScenario(item1) 8574 8575 if isinstance(item1, str): 8576 return self._Entity.DeleteScenario(item1) 8577 8578 return self._Entity.DeleteScenario(item1) 8579 8580 def Get(self, item1 = None) -> T: 8581 if isinstance(item1, str): 8582 return super().Get(item1) 8583 8584 if isinstance(item1, int): 8585 return super().Get(item1) 8586 8587 return self._Entity.Get(item1) 8588 8589 def __getitem__(self, index: int): 8590 return self.LoadPropertyUserFeaRowColList[index] 8591 8592 def __iter__(self): 8593 yield from self.LoadPropertyUserFeaRowColList 8594 8595 def __len__(self): 8596 return len(self.LoadPropertyUserFeaRowColList) 8597 8598 8599class LoadPropertyUserFeaBeamRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaBeamRow]): 8600 def __init__(self, loadPropertyUserFeaBeamRowCol: _api.LoadPropertyUserFeaBeamRowCol): 8601 self._Entity = loadPropertyUserFeaBeamRowCol 8602 self._CollectedClass = LoadPropertyUserFeaBeamRow 8603 8604 @property 8605 def LoadPropertyUserFeaBeamRowColList(self) -> tuple[LoadPropertyUserFeaBeamRow]: 8606 return tuple([LoadPropertyUserFeaBeamRow(loadPropertyUserFeaBeamRowCol) for loadPropertyUserFeaBeamRowCol in self._Entity]) 8607 8608 @overload 8609 def DeleteScenario(self, scenarioId: int) -> bool: ... 8610 8611 @overload 8612 def DeleteScenario(self, scenarioName: str) -> bool: ... 8613 8614 @overload 8615 def Get(self, name: str) -> LoadPropertyUserFeaBeamRow: ... 8616 8617 @overload 8618 def Get(self, id: int) -> LoadPropertyUserFeaBeamRow: ... 8619 8620 def DeleteScenario(self, item1 = None) -> bool: 8621 if isinstance(item1, int): 8622 return bool(super().DeleteScenario(item1)) 8623 8624 if isinstance(item1, str): 8625 return bool(super().DeleteScenario(item1)) 8626 8627 return self._Entity.DeleteScenario(item1) 8628 8629 def Get(self, item1 = None) -> LoadPropertyUserFeaBeamRow: 8630 if isinstance(item1, str): 8631 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8632 8633 if isinstance(item1, int): 8634 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8635 8636 return self._Entity.Get(item1) 8637 8638 def __getitem__(self, index: int): 8639 return self.LoadPropertyUserFeaBeamRowColList[index] 8640 8641 def __iter__(self): 8642 yield from self.LoadPropertyUserFeaBeamRowColList 8643 8644 def __len__(self): 8645 return len(self.LoadPropertyUserFeaBeamRowColList) 8646 8647 8648class LoadPropertyUserFeaBeam(LoadProperty): 8649 def __init__(self, loadPropertyUserFeaBeam: _api.LoadPropertyUserFeaBeam): 8650 self._Entity = loadPropertyUserFeaBeam 8651 8652 @property 8653 def UserFeaRows(self) -> LoadPropertyUserFeaBeamRowCol: 8654 result = self._Entity.UserFeaRows 8655 return LoadPropertyUserFeaBeamRowCol(result) if result is not None else None 8656 8657 8658class LoadPropertyUserFeaJointRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaJointRow]): 8659 def __init__(self, loadPropertyUserFeaJointRowCol: _api.LoadPropertyUserFeaJointRowCol): 8660 self._Entity = loadPropertyUserFeaJointRowCol 8661 self._CollectedClass = LoadPropertyUserFeaJointRow 8662 8663 @property 8664 def LoadPropertyUserFeaJointRowColList(self) -> tuple[LoadPropertyUserFeaJointRow]: 8665 return tuple([LoadPropertyUserFeaJointRow(loadPropertyUserFeaJointRowCol) for loadPropertyUserFeaJointRowCol in self._Entity]) 8666 8667 @overload 8668 def DeleteScenario(self, scenarioId: int) -> bool: ... 8669 8670 @overload 8671 def DeleteScenario(self, scenarioName: str) -> bool: ... 8672 8673 @overload 8674 def Get(self, name: str) -> LoadPropertyUserFeaJointRow: ... 8675 8676 @overload 8677 def Get(self, id: int) -> LoadPropertyUserFeaJointRow: ... 8678 8679 def DeleteScenario(self, item1 = None) -> bool: 8680 if isinstance(item1, int): 8681 return bool(super().DeleteScenario(item1)) 8682 8683 if isinstance(item1, str): 8684 return bool(super().DeleteScenario(item1)) 8685 8686 return self._Entity.DeleteScenario(item1) 8687 8688 def Get(self, item1 = None) -> LoadPropertyUserFeaJointRow: 8689 if isinstance(item1, str): 8690 return LoadPropertyUserFeaJointRow(super().Get(item1)) 8691 8692 if isinstance(item1, int): 8693 return LoadPropertyUserFeaJointRow(super().Get(item1)) 8694 8695 return self._Entity.Get(item1) 8696 8697 def __getitem__(self, index: int): 8698 return self.LoadPropertyUserFeaJointRowColList[index] 8699 8700 def __iter__(self): 8701 yield from self.LoadPropertyUserFeaJointRowColList 8702 8703 def __len__(self): 8704 return len(self.LoadPropertyUserFeaJointRowColList) 8705 8706 8707class LoadPropertyUserFeaJoint(LoadProperty): 8708 def __init__(self, loadPropertyUserFeaJoint: _api.LoadPropertyUserFeaJoint): 8709 self._Entity = loadPropertyUserFeaJoint 8710 8711 @property 8712 def UserFeaRows(self) -> LoadPropertyUserFeaJointRowCol: 8713 result = self._Entity.UserFeaRows 8714 return LoadPropertyUserFeaJointRowCol(result) if result is not None else None 8715 8716 8717class LoadPropertyUserFeaPanelRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaPanelRow]): 8718 def __init__(self, loadPropertyUserFeaPanelRowCol: _api.LoadPropertyUserFeaPanelRowCol): 8719 self._Entity = loadPropertyUserFeaPanelRowCol 8720 self._CollectedClass = LoadPropertyUserFeaPanelRow 8721 8722 @property 8723 def LoadPropertyUserFeaPanelRowColList(self) -> tuple[LoadPropertyUserFeaPanelRow]: 8724 return tuple([LoadPropertyUserFeaPanelRow(loadPropertyUserFeaPanelRowCol) for loadPropertyUserFeaPanelRowCol in self._Entity]) 8725 8726 @overload 8727 def DeleteScenario(self, scenarioId: int) -> bool: ... 8728 8729 @overload 8730 def DeleteScenario(self, scenarioName: str) -> bool: ... 8731 8732 @overload 8733 def Get(self, name: str) -> LoadPropertyUserFeaPanelRow: ... 8734 8735 @overload 8736 def Get(self, id: int) -> LoadPropertyUserFeaPanelRow: ... 8737 8738 def DeleteScenario(self, item1 = None) -> bool: 8739 if isinstance(item1, int): 8740 return bool(super().DeleteScenario(item1)) 8741 8742 if isinstance(item1, str): 8743 return bool(super().DeleteScenario(item1)) 8744 8745 return self._Entity.DeleteScenario(item1) 8746 8747 def Get(self, item1 = None) -> LoadPropertyUserFeaPanelRow: 8748 if isinstance(item1, str): 8749 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 8750 8751 if isinstance(item1, int): 8752 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 8753 8754 return self._Entity.Get(item1) 8755 8756 def __getitem__(self, index: int): 8757 return self.LoadPropertyUserFeaPanelRowColList[index] 8758 8759 def __iter__(self): 8760 yield from self.LoadPropertyUserFeaPanelRowColList 8761 8762 def __len__(self): 8763 return len(self.LoadPropertyUserFeaPanelRowColList) 8764 8765 8766class LoadPropertyUserFeaPanel(LoadProperty): 8767 def __init__(self, loadPropertyUserFeaPanel: _api.LoadPropertyUserFeaPanel): 8768 self._Entity = loadPropertyUserFeaPanel 8769 8770 @property 8771 def UserFeaRows(self) -> LoadPropertyUserFeaPanelRowCol: 8772 result = self._Entity.UserFeaRows 8773 return LoadPropertyUserFeaPanelRowCol(result) if result is not None else None 8774 8775 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 8776 return self._Entity.SetIsZeroCurvature(isZeroCurvature) 8777 8778 8779class LoadPropertyUserGeneralDoubleRow(IdNameEntity): 8780 def __init__(self, loadPropertyUserGeneralDoubleRow: _api.LoadPropertyUserGeneralDoubleRow): 8781 self._Entity = loadPropertyUserGeneralDoubleRow 8782 8783 @property 8784 def MechanicalRow(self) -> LoadPropertyUserRow: 8785 thisClass = type(self._Entity.MechanicalRow).__name__ 8786 givenClass = LoadPropertyUserRow 8787 for subclass in LoadPropertyUserRow.__subclasses__(): 8788 if subclass.__name__ == thisClass: 8789 givenClass = subclass 8790 result = self._Entity.MechanicalRow 8791 return givenClass(result) if result is not None else None 8792 8793 @property 8794 def ThermalRow(self) -> LoadPropertyUserRow: 8795 thisClass = type(self._Entity.ThermalRow).__name__ 8796 givenClass = LoadPropertyUserRow 8797 for subclass in LoadPropertyUserRow.__subclasses__(): 8798 if subclass.__name__ == thisClass: 8799 givenClass = subclass 8800 result = self._Entity.ThermalRow 8801 return givenClass(result) if result is not None else None 8802 8803 def SetName(self, name: str) -> None: 8804 return self._Entity.SetName(name) 8805 8806 8807class LoadPropertyUserGeneralBeamDoubleRow(LoadPropertyUserGeneralDoubleRow): 8808 def __init__(self, loadPropertyUserGeneralBeamDoubleRow: _api.LoadPropertyUserGeneralBeamDoubleRow): 8809 self._Entity = loadPropertyUserGeneralBeamDoubleRow 8810 8811 @property 8812 def MechanicalRow(self) -> LoadPropertyUserRow: 8813 thisClass = type(self._Entity.MechanicalRow).__name__ 8814 givenClass = LoadPropertyUserRow 8815 for subclass in LoadPropertyUserRow.__subclasses__(): 8816 if subclass.__name__ == thisClass: 8817 givenClass = subclass 8818 result = self._Entity.MechanicalRow 8819 return givenClass(result) if result is not None else None 8820 8821 @property 8822 def ThermalRow(self) -> LoadPropertyUserRow: 8823 thisClass = type(self._Entity.ThermalRow).__name__ 8824 givenClass = LoadPropertyUserRow 8825 for subclass in LoadPropertyUserRow.__subclasses__(): 8826 if subclass.__name__ == thisClass: 8827 givenClass = subclass 8828 result = self._Entity.ThermalRow 8829 return givenClass(result) if result is not None else None 8830 8831 @property 8832 def M1AType(self) -> types.BoundaryConditionType: 8833 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8834 8835 @property 8836 def M2AType(self) -> types.BoundaryConditionType: 8837 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8838 8839 @property 8840 def M1BType(self) -> types.BoundaryConditionType: 8841 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8842 8843 @property 8844 def M2BType(self) -> types.BoundaryConditionType: 8845 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8846 8847 @property 8848 def V1Type(self) -> types.BoundaryConditionType: 8849 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8850 8851 @property 8852 def V2Type(self) -> types.BoundaryConditionType: 8853 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8854 8855 @property 8856 def AxialType(self) -> types.BoundaryConditionType: 8857 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8858 8859 @property 8860 def TorqueType(self) -> types.BoundaryConditionType: 8861 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8862 8863 def SetM1AType(self, type: types.BoundaryConditionType) -> None: 8864 return self._Entity.SetM1AType(_types.BoundaryConditionType(type.value)) 8865 8866 def SetM2AType(self, type: types.BoundaryConditionType) -> None: 8867 return self._Entity.SetM2AType(_types.BoundaryConditionType(type.value)) 8868 8869 def SetM1BType(self, type: types.BoundaryConditionType) -> None: 8870 return self._Entity.SetM1BType(_types.BoundaryConditionType(type.value)) 8871 8872 def SetM2BType(self, type: types.BoundaryConditionType) -> None: 8873 return self._Entity.SetM2BType(_types.BoundaryConditionType(type.value)) 8874 8875 def SetV1Type(self, type: types.BoundaryConditionType) -> None: 8876 return self._Entity.SetV1Type(_types.BoundaryConditionType(type.value)) 8877 8878 def SetV2Type(self, type: types.BoundaryConditionType) -> None: 8879 return self._Entity.SetV2Type(_types.BoundaryConditionType(type.value)) 8880 8881 def SetAxialType(self, type: types.BoundaryConditionType) -> None: 8882 return self._Entity.SetAxialType(_types.BoundaryConditionType(type.value)) 8883 8884 def SetTorqueType(self, type: types.BoundaryConditionType) -> None: 8885 return self._Entity.SetTorqueType(_types.BoundaryConditionType(type.value)) 8886 8887 8888class LoadPropertyUserGeneralRowCol(IdNameEntityCol, Generic[T]): 8889 def __init__(self, loadPropertyUserGeneralRowCol: _api.LoadPropertyUserGeneralRowCol): 8890 self._Entity = loadPropertyUserGeneralRowCol 8891 self._CollectedClass = T 8892 8893 @property 8894 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 8895 if self._Entity.Count() <= 0: 8896 return () 8897 thisClass = type(self._Entity._items[0]).__name__ 8898 givenClass = T 8899 for subclass in T.__subclasses__(): 8900 if subclass.__name__ == thisClass: 8901 givenClass = subclass 8902 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity]) 8903 8904 def AddScenario(self, name: str = None) -> T: 8905 return self._Entity.AddScenario(name) 8906 8907 @overload 8908 def DeleteScenario(self, scenarioId: int) -> bool: ... 8909 8910 @overload 8911 def DeleteScenario(self, scenarioName: str) -> bool: ... 8912 8913 @overload 8914 def Get(self, name: str) -> T: ... 8915 8916 @overload 8917 def Get(self, id: int) -> T: ... 8918 8919 def DeleteScenario(self, item1 = None) -> bool: 8920 if isinstance(item1, int): 8921 return self._Entity.DeleteScenario(item1) 8922 8923 if isinstance(item1, str): 8924 return self._Entity.DeleteScenario(item1) 8925 8926 return self._Entity.DeleteScenario(item1) 8927 8928 def Get(self, item1 = None) -> T: 8929 if isinstance(item1, str): 8930 return super().Get(item1) 8931 8932 if isinstance(item1, int): 8933 return super().Get(item1) 8934 8935 return self._Entity.Get(item1) 8936 8937 def __getitem__(self, index: int): 8938 return self.LoadPropertyUserGeneralRowColList[index] 8939 8940 def __iter__(self): 8941 yield from self.LoadPropertyUserGeneralRowColList 8942 8943 def __len__(self): 8944 return len(self.LoadPropertyUserGeneralRowColList) 8945 8946 8947class LoadPropertyUserGeneralBeamRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralBeamDoubleRow]): 8948 def __init__(self, loadPropertyUserGeneralBeamRowCol: _api.LoadPropertyUserGeneralBeamRowCol): 8949 self._Entity = loadPropertyUserGeneralBeamRowCol 8950 self._CollectedClass = LoadPropertyUserGeneralBeamDoubleRow 8951 8952 @property 8953 def LoadPropertyUserGeneralBeamRowColList(self) -> tuple[LoadPropertyUserGeneralBeamDoubleRow]: 8954 return tuple([LoadPropertyUserGeneralBeamDoubleRow(loadPropertyUserGeneralBeamRowCol) for loadPropertyUserGeneralBeamRowCol in self._Entity]) 8955 8956 @overload 8957 def DeleteScenario(self, scenarioId: int) -> bool: ... 8958 8959 @overload 8960 def DeleteScenario(self, scenarioName: str) -> bool: ... 8961 8962 @overload 8963 def Get(self, name: str) -> LoadPropertyUserGeneralBeamDoubleRow: ... 8964 8965 @overload 8966 def Get(self, id: int) -> LoadPropertyUserGeneralBeamDoubleRow: ... 8967 8968 def DeleteScenario(self, item1 = None) -> bool: 8969 if isinstance(item1, int): 8970 return bool(super().DeleteScenario(item1)) 8971 8972 if isinstance(item1, str): 8973 return bool(super().DeleteScenario(item1)) 8974 8975 return self._Entity.DeleteScenario(item1) 8976 8977 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 8978 if isinstance(item1, str): 8979 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8980 8981 if isinstance(item1, int): 8982 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8983 8984 return self._Entity.Get(item1) 8985 8986 def __getitem__(self, index: int): 8987 return self.LoadPropertyUserGeneralBeamRowColList[index] 8988 8989 def __iter__(self): 8990 yield from self.LoadPropertyUserGeneralBeamRowColList 8991 8992 def __len__(self): 8993 return len(self.LoadPropertyUserGeneralBeamRowColList) 8994 8995 8996class LoadPropertyUserGeneralBeam(LoadProperty): 8997 def __init__(self, loadPropertyUserGeneralBeam: _api.LoadPropertyUserGeneralBeam): 8998 self._Entity = loadPropertyUserGeneralBeam 8999 9000 @property 9001 def UserGeneralRows(self) -> LoadPropertyUserGeneralBeamRowCol: 9002 result = self._Entity.UserGeneralRows 9003 return LoadPropertyUserGeneralBeamRowCol(result) if result is not None else None 9004 9005 @property 9006 def IsIncludingThermal(self) -> bool: 9007 return self._Entity.IsIncludingThermal 9008 9009 @IsIncludingThermal.setter 9010 def IsIncludingThermal(self, value: bool) -> None: 9011 self._Entity.IsIncludingThermal = value 9012 9013 9014class LoadPropertyUserGeneralBoltedRow(IdEntity): 9015 def __init__(self, loadPropertyUserGeneralBoltedRow: _api.LoadPropertyUserGeneralBoltedRow): 9016 self._Entity = loadPropertyUserGeneralBoltedRow 9017 9018 @property 9019 def LoadPropertyId(self) -> int: 9020 return self._Entity.LoadPropertyId 9021 9022 @property 9023 def LoadScenarioId(self) -> int: 9024 return self._Entity.LoadScenarioId 9025 9026 @property 9027 def Fx(self) -> float: 9028 return self._Entity.Fx 9029 9030 @property 9031 def Fy(self) -> float: 9032 return self._Entity.Fy 9033 9034 @property 9035 def Fz(self) -> float: 9036 return self._Entity.Fz 9037 9038 @property 9039 def Mx(self) -> float: 9040 return self._Entity.Mx 9041 9042 @property 9043 def My(self) -> float: 9044 return self._Entity.My 9045 9046 @property 9047 def Mz(self) -> float: 9048 return self._Entity.Mz 9049 9050 @property 9051 def NxBypass(self) -> float: 9052 return self._Entity.NxBypass 9053 9054 @property 9055 def NyBypass(self) -> float: 9056 return self._Entity.NyBypass 9057 9058 @property 9059 def NxyBypass(self) -> float: 9060 return self._Entity.NxyBypass 9061 9062 @property 9063 def LimitFactor(self) -> float: 9064 return self._Entity.LimitFactor 9065 9066 @property 9067 def UltimateFactor(self) -> float: 9068 return self._Entity.UltimateFactor 9069 9070 @Fx.setter 9071 def Fx(self, value: float) -> None: 9072 self._Entity.Fx = value 9073 9074 @Fy.setter 9075 def Fy(self, value: float) -> None: 9076 self._Entity.Fy = value 9077 9078 @Fz.setter 9079 def Fz(self, value: float) -> None: 9080 self._Entity.Fz = value 9081 9082 @Mx.setter 9083 def Mx(self, value: float) -> None: 9084 self._Entity.Mx = value 9085 9086 @My.setter 9087 def My(self, value: float) -> None: 9088 self._Entity.My = value 9089 9090 @Mz.setter 9091 def Mz(self, value: float) -> None: 9092 self._Entity.Mz = value 9093 9094 @NxBypass.setter 9095 def NxBypass(self, value: float) -> None: 9096 self._Entity.NxBypass = value 9097 9098 @NyBypass.setter 9099 def NyBypass(self, value: float) -> None: 9100 self._Entity.NyBypass = value 9101 9102 @NxyBypass.setter 9103 def NxyBypass(self, value: float) -> None: 9104 self._Entity.NxyBypass = value 9105 9106 @LimitFactor.setter 9107 def LimitFactor(self, value: float) -> None: 9108 self._Entity.LimitFactor = value 9109 9110 @UltimateFactor.setter 9111 def UltimateFactor(self, value: float) -> None: 9112 self._Entity.UltimateFactor = value 9113 9114 9115class LoadPropertyUserGeneralBoltedRowCol(IdEntityCol[LoadPropertyUserGeneralBoltedRow]): 9116 def __init__(self, loadPropertyUserGeneralBoltedRowCol: _api.LoadPropertyUserGeneralBoltedRowCol): 9117 self._Entity = loadPropertyUserGeneralBoltedRowCol 9118 self._CollectedClass = LoadPropertyUserGeneralBoltedRow 9119 9120 @property 9121 def LoadPropertyUserGeneralBoltedRowColList(self) -> tuple[LoadPropertyUserGeneralBoltedRow]: 9122 return tuple([LoadPropertyUserGeneralBoltedRow(loadPropertyUserGeneralBoltedRowCol) for loadPropertyUserGeneralBoltedRowCol in self._Entity]) 9123 9124 def AddScenario(self) -> None: 9125 ''' 9126 Adds a load scenario with default values 9127 ''' 9128 return self._Entity.AddScenario() 9129 9130 def DeleteScenario(self, scenarioId: int) -> bool: 9131 return self._Entity.DeleteScenario(scenarioId) 9132 9133 def __getitem__(self, index: int): 9134 return self.LoadPropertyUserGeneralBoltedRowColList[index] 9135 9136 def __iter__(self): 9137 yield from self.LoadPropertyUserGeneralBoltedRowColList 9138 9139 def __len__(self): 9140 return len(self.LoadPropertyUserGeneralBoltedRowColList) 9141 9142 9143class LoadPropertyUserGeneralBolted(LoadProperty): 9144 def __init__(self, loadPropertyUserGeneralBolted: _api.LoadPropertyUserGeneralBolted): 9145 self._Entity = loadPropertyUserGeneralBolted 9146 9147 @property 9148 def UserGeneralBoltedRows(self) -> LoadPropertyUserGeneralBoltedRowCol: 9149 result = self._Entity.UserGeneralBoltedRows 9150 return LoadPropertyUserGeneralBoltedRowCol(result) if result is not None else None 9151 9152 9153class LoadPropertyUserGeneralBondedRow(IdEntity): 9154 def __init__(self, loadPropertyUserGeneralBondedRow: _api.LoadPropertyUserGeneralBondedRow): 9155 self._Entity = loadPropertyUserGeneralBondedRow 9156 9157 @property 9158 def LoadPropertyId(self) -> int: 9159 return self._Entity.LoadPropertyId 9160 9161 @property 9162 def JointConceptId(self) -> types.JointConceptId: 9163 return types.JointConceptId[self._Entity.JointConceptId.ToString()] 9164 9165 @property 9166 def BondedBcId(self) -> int: 9167 return self._Entity.BondedBcId 9168 9169 @property 9170 def AxialType(self) -> types.BoundaryConditionType: 9171 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9172 9173 @property 9174 def MomentType(self) -> types.BoundaryConditionType: 9175 return types.BoundaryConditionType[self._Entity.MomentType.ToString()] 9176 9177 @property 9178 def TransverseType(self) -> types.BoundaryConditionType: 9179 return types.BoundaryConditionType[self._Entity.TransverseType.ToString()] 9180 9181 @property 9182 def ShearType(self) -> types.BoundaryConditionType: 9183 return types.BoundaryConditionType[self._Entity.ShearType.ToString()] 9184 9185 @property 9186 def Axial(self) -> float: 9187 return self._Entity.Axial 9188 9189 @property 9190 def Moment(self) -> float: 9191 return self._Entity.Moment 9192 9193 @property 9194 def Transverse(self) -> float: 9195 return self._Entity.Transverse 9196 9197 @property 9198 def Shear(self) -> float: 9199 return self._Entity.Shear 9200 9201 @AxialType.setter 9202 def AxialType(self, value: types.BoundaryConditionType) -> None: 9203 self._Entity.AxialType = _types.BoundaryConditionType(value.value) 9204 9205 @MomentType.setter 9206 def MomentType(self, value: types.BoundaryConditionType) -> None: 9207 self._Entity.MomentType = _types.BoundaryConditionType(value.value) 9208 9209 @TransverseType.setter 9210 def TransverseType(self, value: types.BoundaryConditionType) -> None: 9211 self._Entity.TransverseType = _types.BoundaryConditionType(value.value) 9212 9213 @ShearType.setter 9214 def ShearType(self, value: types.BoundaryConditionType) -> None: 9215 self._Entity.ShearType = _types.BoundaryConditionType(value.value) 9216 9217 @Axial.setter 9218 def Axial(self, value: float) -> None: 9219 self._Entity.Axial = value 9220 9221 @Moment.setter 9222 def Moment(self, value: float) -> None: 9223 self._Entity.Moment = value 9224 9225 @Transverse.setter 9226 def Transverse(self, value: float) -> None: 9227 self._Entity.Transverse = value 9228 9229 @Shear.setter 9230 def Shear(self, value: float) -> None: 9231 self._Entity.Shear = value 9232 9233 def UpdateRow(self) -> None: 9234 return self._Entity.UpdateRow() 9235 9236 9237class LoadPropertyUserGeneralBondedRowCol(IdEntityCol[LoadPropertyUserGeneralBondedRow]): 9238 def __init__(self, loadPropertyUserGeneralBondedRowCol: _api.LoadPropertyUserGeneralBondedRowCol): 9239 self._Entity = loadPropertyUserGeneralBondedRowCol 9240 self._CollectedClass = LoadPropertyUserGeneralBondedRow 9241 9242 @property 9243 def LoadPropertyUserGeneralBondedRowColList(self) -> tuple[LoadPropertyUserGeneralBondedRow]: 9244 return tuple([LoadPropertyUserGeneralBondedRow(loadPropertyUserGeneralBondedRowCol) for loadPropertyUserGeneralBondedRowCol in self._Entity]) 9245 9246 def __getitem__(self, index: int): 9247 return self.LoadPropertyUserGeneralBondedRowColList[index] 9248 9249 def __iter__(self): 9250 yield from self.LoadPropertyUserGeneralBondedRowColList 9251 9252 def __len__(self): 9253 return len(self.LoadPropertyUserGeneralBondedRowColList) 9254 9255 9256class LoadPropertyJoint(IdEntity): 9257 def __init__(self, loadPropertyJoint: _api.LoadPropertyJoint): 9258 self._Entity = loadPropertyJoint 9259 9260 @property 9261 def UserGeneralBondedRows(self) -> LoadPropertyUserGeneralBondedRowCol: 9262 result = self._Entity.UserGeneralBondedRows 9263 return LoadPropertyUserGeneralBondedRowCol(result) if result is not None else None 9264 9265 @property 9266 def LoadPropertyId(self) -> int: 9267 return self._Entity.LoadPropertyId 9268 9269 @property 9270 def JConceptId(self) -> types.JointConceptId: 9271 return types.JointConceptId[self._Entity.JConceptId.ToString()] 9272 9273 @property 9274 def Ex(self) -> float: 9275 return self._Entity.Ex 9276 9277 @property 9278 def Kx(self) -> float: 9279 return self._Entity.Kx 9280 9281 @property 9282 def Kxy(self) -> float: 9283 return self._Entity.Kxy 9284 9285 @property 9286 def Temperature(self) -> float: 9287 return self._Entity.Temperature 9288 9289 @JConceptId.setter 9290 def JConceptId(self, value: types.JointConceptId) -> None: 9291 self._Entity.JConceptId = _types.JointConceptId(value.value) 9292 9293 @Ex.setter 9294 def Ex(self, value: float) -> None: 9295 self._Entity.Ex = value 9296 9297 @Kx.setter 9298 def Kx(self, value: float) -> None: 9299 self._Entity.Kx = value 9300 9301 @Kxy.setter 9302 def Kxy(self, value: float) -> None: 9303 self._Entity.Kxy = value 9304 9305 @Temperature.setter 9306 def Temperature(self, value: float) -> None: 9307 self._Entity.Temperature = value 9308 9309 9310class LoadPropertyUserGeneralBonded(LoadProperty): 9311 def __init__(self, loadPropertyUserGeneralBonded: _api.LoadPropertyUserGeneralBonded): 9312 self._Entity = loadPropertyUserGeneralBonded 9313 9314 @property 9315 def LoadPropertyJoint(self) -> LoadPropertyJoint: 9316 result = self._Entity.LoadPropertyJoint 9317 return LoadPropertyJoint(result) if result is not None else None 9318 9319 9320class LoadPropertyUserGeneralPanelDoubleRow(LoadPropertyUserGeneralDoubleRow): 9321 def __init__(self, loadPropertyUserGeneralPanelDoubleRow: _api.LoadPropertyUserGeneralPanelDoubleRow): 9322 self._Entity = loadPropertyUserGeneralPanelDoubleRow 9323 9324 @property 9325 def MechanicalRow(self) -> LoadPropertyUserRow: 9326 thisClass = type(self._Entity.MechanicalRow).__name__ 9327 givenClass = LoadPropertyUserRow 9328 for subclass in LoadPropertyUserRow.__subclasses__(): 9329 if subclass.__name__ == thisClass: 9330 givenClass = subclass 9331 result = self._Entity.MechanicalRow 9332 return givenClass(result) if result is not None else None 9333 9334 @property 9335 def ThermalRow(self) -> LoadPropertyUserRow: 9336 thisClass = type(self._Entity.ThermalRow).__name__ 9337 givenClass = LoadPropertyUserRow 9338 for subclass in LoadPropertyUserRow.__subclasses__(): 9339 if subclass.__name__ == thisClass: 9340 givenClass = subclass 9341 result = self._Entity.ThermalRow 9342 return givenClass(result) if result is not None else None 9343 9344 @property 9345 def NxType(self) -> types.BoundaryConditionType: 9346 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 9347 9348 @property 9349 def NyType(self) -> types.BoundaryConditionType: 9350 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 9351 9352 @property 9353 def NxyType(self) -> types.BoundaryConditionType: 9354 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 9355 9356 @property 9357 def MxType(self) -> types.BoundaryConditionType: 9358 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 9359 9360 @property 9361 def MyType(self) -> types.BoundaryConditionType: 9362 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 9363 9364 @property 9365 def MxyType(self) -> types.BoundaryConditionType: 9366 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 9367 9368 @property 9369 def QxType(self) -> types.BoundaryConditionType: 9370 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 9371 9372 @property 9373 def QyType(self) -> types.BoundaryConditionType: 9374 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 9375 9376 def SetNxType(self, type: types.BoundaryConditionType) -> None: 9377 return self._Entity.SetNxType(_types.BoundaryConditionType(type.value)) 9378 9379 def SetNyType(self, type: types.BoundaryConditionType) -> None: 9380 return self._Entity.SetNyType(_types.BoundaryConditionType(type.value)) 9381 9382 def SetNxyType(self, type: types.BoundaryConditionType) -> None: 9383 return self._Entity.SetNxyType(_types.BoundaryConditionType(type.value)) 9384 9385 def SetMxType(self, type: types.BoundaryConditionType) -> None: 9386 return self._Entity.SetMxType(_types.BoundaryConditionType(type.value)) 9387 9388 def SetMyType(self, type: types.BoundaryConditionType) -> None: 9389 return self._Entity.SetMyType(_types.BoundaryConditionType(type.value)) 9390 9391 def SetMxyType(self, type: types.BoundaryConditionType) -> None: 9392 return self._Entity.SetMxyType(_types.BoundaryConditionType(type.value)) 9393 9394 def SetQxType(self, type: types.BoundaryConditionType) -> None: 9395 return self._Entity.SetQxType(_types.BoundaryConditionType(type.value)) 9396 9397 def SetQyType(self, type: types.BoundaryConditionType) -> None: 9398 return self._Entity.SetQyType(_types.BoundaryConditionType(type.value)) 9399 9400 9401class LoadPropertyUserGeneralPanelRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralPanelDoubleRow]): 9402 def __init__(self, loadPropertyUserGeneralPanelRowCol: _api.LoadPropertyUserGeneralPanelRowCol): 9403 self._Entity = loadPropertyUserGeneralPanelRowCol 9404 self._CollectedClass = LoadPropertyUserGeneralPanelDoubleRow 9405 9406 @property 9407 def LoadPropertyUserGeneralPanelRowColList(self) -> tuple[LoadPropertyUserGeneralPanelDoubleRow]: 9408 return tuple([LoadPropertyUserGeneralPanelDoubleRow(loadPropertyUserGeneralPanelRowCol) for loadPropertyUserGeneralPanelRowCol in self._Entity]) 9409 9410 @overload 9411 def DeleteScenario(self, scenarioId: int) -> bool: ... 9412 9413 @overload 9414 def DeleteScenario(self, scenarioName: str) -> bool: ... 9415 9416 @overload 9417 def Get(self, name: str) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9418 9419 @overload 9420 def Get(self, id: int) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9421 9422 def DeleteScenario(self, item1 = None) -> bool: 9423 if isinstance(item1, int): 9424 return bool(super().DeleteScenario(item1)) 9425 9426 if isinstance(item1, str): 9427 return bool(super().DeleteScenario(item1)) 9428 9429 return self._Entity.DeleteScenario(item1) 9430 9431 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9432 if isinstance(item1, str): 9433 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9434 9435 if isinstance(item1, int): 9436 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9437 9438 return self._Entity.Get(item1) 9439 9440 def __getitem__(self, index: int): 9441 return self.LoadPropertyUserGeneralPanelRowColList[index] 9442 9443 def __iter__(self): 9444 yield from self.LoadPropertyUserGeneralPanelRowColList 9445 9446 def __len__(self): 9447 return len(self.LoadPropertyUserGeneralPanelRowColList) 9448 9449 9450class LoadPropertyUserGeneralPanel(LoadProperty): 9451 def __init__(self, loadPropertyUserGeneralPanel: _api.LoadPropertyUserGeneralPanel): 9452 self._Entity = loadPropertyUserGeneralPanel 9453 9454 @property 9455 def UserGeneralRows(self) -> LoadPropertyUserGeneralPanelRowCol: 9456 result = self._Entity.UserGeneralRows 9457 return LoadPropertyUserGeneralPanelRowCol(result) if result is not None else None 9458 9459 @property 9460 def IsIncludingThermal(self) -> bool: 9461 return self._Entity.IsIncludingThermal 9462 9463 @IsIncludingThermal.setter 9464 def IsIncludingThermal(self, value: bool) -> None: 9465 self._Entity.IsIncludingThermal = value 9466 9467 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9468 return self._Entity.SetIsZeroCurvature(isZeroCurvature) 9469 9470 9471class JointSelectionDesignResult(JointDesignResult): 9472 def __init__(self, jointSelectionDesignResult: _api.JointSelectionDesignResult): 9473 self._Entity = jointSelectionDesignResult 9474 9475 @property 9476 def JointSelectionId(self) -> types.JointSelectionId: 9477 return types.JointSelectionId[self._Entity.JointSelectionId.ToString()] 9478 9479 9480class JointFastenerDesignResult(JointSelectionDesignResult): 9481 def __init__(self, jointFastenerDesignResult: _api.JointFastenerDesignResult): 9482 self._Entity = jointFastenerDesignResult 9483 9484 @property 9485 def FastenerBoltId(self) -> int: 9486 return self._Entity.FastenerBoltId 9487 9488 @property 9489 def FastenerCodeId(self) -> int: 9490 return self._Entity.FastenerCodeId 9491 9492 9493class JointMaterialDesignResult(JointSelectionDesignResult): 9494 def __init__(self, jointMaterialDesignResult: _api.JointMaterialDesignResult): 9495 self._Entity = jointMaterialDesignResult 9496 9497 @property 9498 def MaterialId(self) -> int: 9499 return self._Entity.MaterialId 9500 9501 @property 9502 def MaterialType(self) -> types.MaterialType: 9503 ''' 9504 Represents a material's type. 9505 ''' 9506 return types.MaterialType[self._Entity.MaterialType.ToString()] 9507 9508 9509class JointRangeDesignResult(JointDesignResult): 9510 def __init__(self, jointRangeDesignResult: _api.JointRangeDesignResult): 9511 self._Entity = jointRangeDesignResult 9512 9513 @property 9514 def JointRangeId(self) -> types.JointRangeId: 9515 return types.JointRangeId[self._Entity.JointRangeId.ToString()] 9516 9517 @property 9518 def Value(self) -> float: 9519 return self._Entity.Value 9520 9521 9522class JointRivetDesignResult(JointSelectionDesignResult): 9523 def __init__(self, jointRivetDesignResult: _api.JointRivetDesignResult): 9524 self._Entity = jointRivetDesignResult 9525 9526 @property 9527 def RivetId(self) -> int: 9528 return self._Entity.RivetId 9529 9530 @property 9531 def RivetDiameterId(self) -> int: 9532 return self._Entity.RivetDiameterId 9533 9534 9535class Environment(ABC): 9536 ''' 9537 Represents HyperX's execution environment (where HyperX is installed). 9538 ''' 9539 def __init__(self, environment: _api.Environment): 9540 self._Entity = environment 9541 9542 def SetLocation(location: str) -> None: 9543 return _api.Environment.SetLocation(location) 9544 9545 def Initialize() -> None: 9546 ''' 9547 Initialize the HyperX scripting environment. 9548 ''' 9549 return _api.Environment.Initialize() 9550 9551 9552class FailureCriterionSetting(FailureSetting): 9553 ''' 9554 Setting for a Failure Criteria. 9555 ''' 9556 def __init__(self, failureCriterionSetting: _api.FailureCriterionSetting): 9557 self._Entity = failureCriterionSetting 9558 9559 9560class FailureModeSetting(FailureSetting): 9561 ''' 9562 Setting for a Failure Mode. 9563 ''' 9564 def __init__(self, failureModeSetting: _api.FailureModeSetting): 9565 self._Entity = failureModeSetting 9566 9567 9568class HelperFunctions(ABC): 9569 def __init__(self, helperFunctions: _api.HelperFunctions): 9570 self._Entity = helperFunctions 9571 9572 def NullableSingle(input: float) -> float: 9573 return _api.HelperFunctions.NullableSingle(input) 9574 9575 9576class IBulkUpdatableEntity: 9577 def __init__(self, iBulkUpdatableEntity: _api.IBulkUpdatableEntity): 9578 self._Entity = iBulkUpdatableEntity 9579 9580 pass 9581 9582 9583class LaminatePlyData: 9584 ''' 9585 Per ply data for Laminate materials 9586 ''' 9587 def __init__(self, laminatePlyData: _api.LaminatePlyData): 9588 self._Entity = laminatePlyData 9589 9590 @property 9591 def MaterialId(self) -> int: 9592 return self._Entity.MaterialId 9593 9594 @property 9595 def PlyId(self) -> int: 9596 return self._Entity.PlyId 9597 9598 @property 9599 def PlyMaterialId(self) -> int: 9600 return self._Entity.PlyMaterialId 9601 9602 @property 9603 def PlyMaterialType(self) -> types.MaterialType: 9604 ''' 9605 Represents a material's type. 9606 ''' 9607 return types.MaterialType[self._Entity.PlyMaterialType.ToString()] 9608 9609 @property 9610 def Angle(self) -> float: 9611 return self._Entity.Angle 9612 9613 @property 9614 def Thickness(self) -> float: 9615 return self._Entity.Thickness 9616 9617 @property 9618 def IsFabric(self) -> bool: 9619 return self._Entity.IsFabric 9620 9621 @property 9622 def FamilyPlyId(self) -> int: 9623 return self._Entity.FamilyPlyId 9624 9625 @property 9626 def OriginalPlyId(self) -> int: 9627 return self._Entity.OriginalPlyId 9628 9629 @property 9630 def OriginalFamilyPlyId(self) -> int: 9631 return self._Entity.OriginalFamilyPlyId 9632 9633 @property 9634 def DisplaySequenceId(self) -> int: 9635 return self._Entity.DisplaySequenceId 9636 9637 @property 9638 def PlyStiffenerSubType(self) -> types.PlyStiffenerSubType: 9639 return types.PlyStiffenerSubType[self._Entity.PlyStiffenerSubType.ToString()] 9640 9641 @property 9642 def Object1(self) -> bool: 9643 return self._Entity.Object1 9644 9645 @property 9646 def Object2(self) -> bool: 9647 return self._Entity.Object2 9648 9649 @property 9650 def Object3(self) -> bool: 9651 return self._Entity.Object3 9652 9653 @property 9654 def IsInverted(self) -> bool: 9655 return self._Entity.IsInverted 9656 9657 @property 9658 def IsFullStructure(self) -> bool: 9659 return self._Entity.IsFullStructure 9660 9661 @property 9662 def UseTrueFiberDirection(self) -> bool: 9663 return self._Entity.UseTrueFiberDirection 9664 9665 @property 9666 def IsInFoot(self) -> bool: 9667 return self._Entity.IsInFoot 9668 9669 @property 9670 def IsInWeb(self) -> bool: 9671 return self._Entity.IsInWeb 9672 9673 @property 9674 def IsInCap(self) -> bool: 9675 return self._Entity.IsInCap 9676 9677 def SetMaterial(self, matId: int) -> bool: 9678 return self._Entity.SetMaterial(matId) 9679 9680 def SetAngle(self, angle: float) -> bool: 9681 return self._Entity.SetAngle(angle) 9682 9683 9684class Beam(Zone): 9685 def __init__(self, beam: _api.Beam): 9686 self._Entity = beam 9687 9688 @property 9689 def Length(self) -> float: 9690 return self._Entity.Length 9691 9692 @property 9693 def Phi(self) -> float: 9694 return self._Entity.Phi 9695 9696 @property 9697 def K1(self) -> float: 9698 return self._Entity.K1 9699 9700 @property 9701 def K2(self) -> float: 9702 return self._Entity.K2 9703 9704 @property 9705 def ReferencePlane(self) -> types.ReferencePlaneBeam: 9706 return types.ReferencePlaneBeam[self._Entity.ReferencePlane.ToString()] 9707 9708 @Phi.setter 9709 def Phi(self, value: float) -> None: 9710 self._Entity.Phi = value 9711 9712 @K1.setter 9713 def K1(self, value: float) -> None: 9714 self._Entity.K1 = value 9715 9716 @K2.setter 9717 def K2(self, value: float) -> None: 9718 self._Entity.K2 = value 9719 9720 @ReferencePlane.setter 9721 def ReferencePlane(self, value: types.ReferencePlaneBeam) -> None: 9722 self._Entity.ReferencePlane = _types.ReferencePlaneBeam(value.value) 9723 9724 9725class ZoneBulkUpdaterBase(BulkUpdaterBase): 9726 def __init__(self, zoneBulkUpdaterBase: _api.ZoneBulkUpdaterBase): 9727 self._Entity = zoneBulkUpdaterBase 9728 9729 9730class BeamBulkUpdater(ZoneBulkUpdaterBase): 9731 def __init__(self, beamBulkUpdater: _api.BeamBulkUpdater): 9732 self._Entity = beamBulkUpdater 9733 9734 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 9735 itemsList = List[_api.Beam]() 9736 if items is not None: 9737 for thing in items: 9738 if thing is not None: 9739 itemsList.Add(thing._Entity) 9740 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 9741 9742 9743class Panel(Zone): 9744 def __init__(self, panel: _api.Panel): 9745 self._Entity = panel 9746 9747 @property 9748 def Area(self) -> float: 9749 return self._Entity.Area 9750 9751 @property 9752 def ReferencePlane(self) -> types.ReferencePlanePanel: 9753 return types.ReferencePlanePanel[self._Entity.ReferencePlane.ToString()] 9754 9755 @property 9756 def AddedOffset(self) -> float: 9757 return self._Entity.AddedOffset 9758 9759 @property 9760 def YSpan(self) -> float: 9761 return self._Entity.YSpan 9762 9763 @property 9764 def IsCurved(self) -> bool: 9765 return self._Entity.IsCurved 9766 9767 @property 9768 def Radius(self) -> float: 9769 return self._Entity.Radius 9770 9771 @property 9772 def IsFullCylinder(self) -> bool: 9773 return self._Entity.IsFullCylinder 9774 9775 @property 9776 def BucklingMode(self) -> types.ZoneBucklingMode: 9777 return types.ZoneBucklingMode[self._Entity.BucklingMode.ToString()] 9778 9779 @property 9780 def PerformLocalPostbuckling(self) -> bool: 9781 return self._Entity.PerformLocalPostbuckling 9782 9783 @property 9784 def A11Required(self) -> float: 9785 return self._Entity.A11Required 9786 9787 @property 9788 def A22Required(self) -> float: 9789 return self._Entity.A22Required 9790 9791 @property 9792 def A33Required(self) -> float: 9793 return self._Entity.A33Required 9794 9795 @property 9796 def D11Required(self) -> float: 9797 return self._Entity.D11Required 9798 9799 @property 9800 def D22Required(self) -> float: 9801 return self._Entity.D22Required 9802 9803 @property 9804 def D33Required(self) -> float: 9805 return self._Entity.D33Required 9806 9807 @property 9808 def A11Auto(self) -> float: 9809 return self._Entity.A11Auto 9810 9811 @property 9812 def A22Auto(self) -> float: 9813 return self._Entity.A22Auto 9814 9815 @property 9816 def A33Auto(self) -> float: 9817 return self._Entity.A33Auto 9818 9819 @property 9820 def D11Auto(self) -> float: 9821 return self._Entity.D11Auto 9822 9823 @property 9824 def D22Auto(self) -> float: 9825 return self._Entity.D22Auto 9826 9827 @property 9828 def D33Auto(self) -> float: 9829 return self._Entity.D33Auto 9830 9831 @property 9832 def Ey(self) -> float: 9833 return self._Entity.Ey 9834 9835 @property 9836 def Kx(self) -> float: 9837 return self._Entity.Kx 9838 9839 @property 9840 def Ky(self) -> float: 9841 return self._Entity.Ky 9842 9843 @ReferencePlane.setter 9844 def ReferencePlane(self, value: types.ReferencePlanePanel) -> None: 9845 self._Entity.ReferencePlane = _types.ReferencePlanePanel(value.value) 9846 9847 @AddedOffset.setter 9848 def AddedOffset(self, value: float) -> None: 9849 self._Entity.AddedOffset = value 9850 9851 @YSpan.setter 9852 def YSpan(self, value: float) -> None: 9853 self._Entity.YSpan = value 9854 9855 @IsCurved.setter 9856 def IsCurved(self, value: bool) -> None: 9857 self._Entity.IsCurved = value 9858 9859 @Radius.setter 9860 def Radius(self, value: float) -> None: 9861 self._Entity.Radius = value 9862 9863 @IsFullCylinder.setter 9864 def IsFullCylinder(self, value: bool) -> None: 9865 self._Entity.IsFullCylinder = value 9866 9867 @BucklingMode.setter 9868 def BucklingMode(self, value: types.ZoneBucklingMode) -> None: 9869 self._Entity.BucklingMode = _types.ZoneBucklingMode(value.value) 9870 9871 @PerformLocalPostbuckling.setter 9872 def PerformLocalPostbuckling(self, value: bool) -> None: 9873 self._Entity.PerformLocalPostbuckling = value 9874 9875 @A11Required.setter 9876 def A11Required(self, value: float) -> None: 9877 self._Entity.A11Required = value 9878 9879 @A22Required.setter 9880 def A22Required(self, value: float) -> None: 9881 self._Entity.A22Required = value 9882 9883 @A33Required.setter 9884 def A33Required(self, value: float) -> None: 9885 self._Entity.A33Required = value 9886 9887 @D11Required.setter 9888 def D11Required(self, value: float) -> None: 9889 self._Entity.D11Required = value 9890 9891 @D22Required.setter 9892 def D22Required(self, value: float) -> None: 9893 self._Entity.D22Required = value 9894 9895 @D33Required.setter 9896 def D33Required(self, value: float) -> None: 9897 self._Entity.D33Required = value 9898 9899 @Ey.setter 9900 def Ey(self, value: float) -> None: 9901 self._Entity.Ey = value 9902 9903 @Kx.setter 9904 def Kx(self, value: float) -> None: 9905 self._Entity.Kx = value 9906 9907 @Ky.setter 9908 def Ky(self, value: float) -> None: 9909 self._Entity.Ky = value 9910 9911 9912class PanelBulkUpdater(ZoneBulkUpdaterBase): 9913 def __init__(self, panelBulkUpdater: _api.PanelBulkUpdater): 9914 self._Entity = panelBulkUpdater 9915 9916 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 9917 itemsList = List[_api.Panel]() 9918 if items is not None: 9919 for thing in items: 9920 if thing is not None: 9921 itemsList.Add(thing._Entity) 9922 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 9923 9924 9925class PanelSegmentBulkUpdater(ZoneBulkUpdaterBase): 9926 def __init__(self, panelSegmentBulkUpdater: _api.PanelSegmentBulkUpdater): 9927 self._Entity = panelSegmentBulkUpdater 9928 9929 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 9930 itemsList = List[_api.PanelSegment]() 9931 if items is not None: 9932 for thing in items: 9933 if thing is not None: 9934 itemsList.Add(thing._Entity) 9935 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 9936 9937 9938class ZoneBulkUpdater(ZoneBulkUpdaterBase): 9939 def __init__(self, zoneBulkUpdater: _api.ZoneBulkUpdater): 9940 self._Entity = zoneBulkUpdater 9941 9942 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 9943 itemsList = List[_api.Zone]() 9944 if items is not None: 9945 for thing in items: 9946 if thing is not None: 9947 itemsList.Add(thing._Entity) 9948 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
25class AnalysisResultToReturn(Enum): 26 ''' 27 Used to specify which analysis result to return. 28 ''' 29 Limit = 1 30 Ultimate = 2 31 Minimum = 3
Used to specify which analysis result to return.
Inherited Members
- enum.Enum
- name
- value
33class CollectionModificationStatus(Enum): 34 ''' 35 Indicates whether a collection was manipulated successfully. 36 ''' 37 Success = 1 38 DuplicateIdFailure = 2 39 EntityMissingAddFailure = 3 40 EntityMissingRemovalFailure = 4 41 FemConnectionFailure = 5
Indicates whether a collection was manipulated successfully.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
48class MaterialCreationStatus(Enum): 49 ''' 50 Indicates whether a material was created successfully. 51 If not, this indicates why the material was not created. 52 ''' 53 Success = 1 54 DuplicateNameFailure = 2 55 DuplicateFemIdFailure = 3 56 MissingMaterialToCopy = 4
Indicates whether a material was created successfully. If not, this indicates why the material was not created.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
63class DbLengthUnit(Enum): 64 Inches = 1 65 Feet = 2 66 Meters = 3 67 Centimeters = 4 68 Millimeters = 5
Inherited Members
- enum.Enum
- name
- value
70class DbMassUnit(Enum): 71 Pounds = 1 72 Kilograms = 2 73 Slinches = 4 74 Slugs = 5 75 Megagrams = 6
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
83class ProjectCreationStatus(Enum): 84 ''' 85 Indicates whether a project was created successfully. 86 If not, this indicates why the project was not created. 87 ''' 88 Success = 1 89 Failure = 2 90 DuplicateNameFailure = 3
Indicates whether a project was created successfully. If not, this indicates why the project was not created.
Inherited Members
- enum.Enum
- name
- value
92class ProjectDeletionStatus(Enum): 93 ''' 94 Indicates whether a project was deleted successfully. 95 If not, this indicates why the project was not deleted. 96 ''' 97 Success = 1 98 Failure = 2 99 ProjectDoesNotExistFailure = 3 100 ActiveProjectFailure = 4
Indicates whether a project was deleted successfully. If not, this indicates why the project was not deleted.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
107class PropertyAssignmentStatus(Enum): 108 Success = 1 109 Failure = 2 110 FailureCollectionAssignment = 3 111 PropertyIsNull = 4 112 PropertyNotFoundInDb = 5 113 EmptyCollection = 6 114 IncompatiblePropertyAssignment = 7 115 EntityDoesNotExist = 8
Inherited Members
- enum.Enum
- name
- value
117class RundeckBulkUpdateStatus(Enum): 118 NoRundecksUpdated = 0 119 Success = 1 120 InputFilePathDoesNotExist = 2 121 ResultFilePathDoesNotExist = 3 122 InputFilePathAlreadyExists = 4 123 ResultFilePathAlreadyExists = 5 124 InvalidPathCount = 6 125 RundeckBulkUpdateFailure = 7 126 SuccessButIncompatibleFem = 8
Inherited Members
- enum.Enum
- name
- value
128class RundeckCreationStatus(Enum): 129 Success = 1 130 InputFilePathAlreadyExists = 2 131 ResultFilePathAlreadyExists = 3
Inherited Members
- enum.Enum
- name
- value
133class RundeckRemoveStatus(Enum): 134 Success = 1 135 InvalidId = 2 136 CannotRemoveLastRundeck = 3 137 CannotDeletePrimaryRundeck = 4 138 RundeckNotFound = 5 139 RundeckRemoveFailure = 6 140 SuccessButIncompatibleFem = 7
Inherited Members
- enum.Enum
- name
- value
142class RundeckUpdateStatus(Enum): 143 Success = 1 144 InvalidId = 2 145 IdDoesNotExist = 3 146 RundeckAlreadyPrimary = 4 147 InputPathInUse = 5 148 ResultPathInUse = 6 149 RundeckCommitFailure = 7 150 InputPathDoesNotExist = 8 151 ResultPathDoesNotExist = 9 152 SuccessButIncompatibleFem = 10
Inherited Members
- enum.Enum
- name
- value
154class ZoneCreationStatus(Enum): 155 ''' 156 Indicates whether a zone was created successfully. 157 If not, this indicates why the zone was not created. 158 ''' 159 Success = 1 160 DuplicateNameFailure = 2 161 InvalidFamilyCategory = 3
Indicates whether a zone was created successfully. If not, this indicates why the zone was not created.
Inherited Members
- enum.Enum
- name
- value
163class ZoneIdUpdateStatus(Enum): 164 Success = 1 165 DuplicateIdFailure = 2 166 IdOutOfRangeError = 3
Inherited Members
- enum.Enum
- name
- value
168class UnitSystem(Enum): 169 ''' 170 Unit system specified when starting a scripting Application. 171 ''' 172 English = 1 173 SI = 2
Unit system specified when starting a scripting Application.
Inherited Members
- enum.Enum
- name
- value
175class IdEntity(ABC): 176 ''' 177 Represents an entity with an ID. 178 ''' 179 def __init__(self, idEntity: _api.IdEntity): 180 self._Entity = idEntity 181 182 @property 183 def Id(self) -> int: 184 return self._Entity.Id
Represents an entity with an ID.
187class IdNameEntity(IdEntity): 188 ''' 189 Represents an entity with an ID and Name. 190 ''' 191 def __init__(self, idNameEntity: _api.IdNameEntity): 192 self._Entity = idNameEntity 193 194 @property 195 def Name(self) -> str: 196 return self._Entity.Name
Represents an entity with an ID and Name.
198class AnalysisDefinition(IdNameEntity): 199 def __init__(self, analysisDefinition: _api.AnalysisDefinition): 200 self._Entity = analysisDefinition 201 202 @property 203 def AnalysisId(self) -> int: 204 return self._Entity.AnalysisId 205 206 @property 207 def Description(self) -> str: 208 return self._Entity.Description
Represents an entity with an ID and Name.
Inherited Members
211class Margin: 212 ''' 213 Represents a Margin result. 214 ''' 215 def __init__(self, margin: _api.Margin): 216 self._Entity = margin 217 218 @property 219 def AdjustedMargin(self) -> float: 220 return self._Entity.AdjustedMargin 221 222 @property 223 def IsFailureCode(self) -> bool: 224 return self._Entity.IsFailureCode 225 226 @property 227 def IsInformationalCode(self) -> bool: 228 return self._Entity.IsInformationalCode 229 230 @property 231 def MarginCode(self) -> types.MarginCode: 232 return types.MarginCode[self._Entity.MarginCode.ToString()]
Represents a Margin result.
235class AnalysisResult(ABC): 236 ''' 237 Contains result information for an analysis 238 ''' 239 def __init__(self, analysisResult: _api.AnalysisResult): 240 self._Entity = analysisResult 241 242 @property 243 def LimitUltimate(self) -> types.LimitUltimate: 244 ''' 245 Limit vs Ultimate loads. 246 ''' 247 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 248 249 @property 250 def LoadCaseId(self) -> int: 251 return self._Entity.LoadCaseId 252 253 @property 254 def Margin(self) -> Margin: 255 ''' 256 Represents a Margin result. 257 ''' 258 result = self._Entity.Margin 259 return Margin(result) if result is not None else None 260 261 @property 262 def AnalysisDefinition(self) -> AnalysisDefinition: 263 result = self._Entity.AnalysisDefinition 264 return AnalysisDefinition(result) if result is not None else None
Contains result information for an analysis
242 @property 243 def LimitUltimate(self) -> types.LimitUltimate: 244 ''' 245 Limit vs Ultimate loads. 246 ''' 247 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()]
Limit vs Ultimate loads.
267class JointAnalysisResult(AnalysisResult): 268 def __init__(self, jointAnalysisResult: _api.JointAnalysisResult): 269 self._Entity = jointAnalysisResult 270 271 @property 272 def ObjectId(self) -> types.JointObject: 273 ''' 274 Enum identifying the possible entities within a joint 275 ''' 276 return types.JointObject[self._Entity.ObjectId.ToString()]
Contains result information for an analysis
271 @property 272 def ObjectId(self) -> types.JointObject: 273 ''' 274 Enum identifying the possible entities within a joint 275 ''' 276 return types.JointObject[self._Entity.ObjectId.ToString()]
Enum identifying the possible entities within a joint
Inherited Members
279class ZoneAnalysisConceptResult(AnalysisResult): 280 def __init__(self, zoneAnalysisConceptResult: _api.ZoneAnalysisConceptResult): 281 self._Entity = zoneAnalysisConceptResult 282 283 @property 284 def ConceptId(self) -> types.FamilyConceptUID: 285 return types.FamilyConceptUID[self._Entity.ConceptId.ToString()]
Contains result information for an analysis
Inherited Members
288class ZoneAnalysisObjectResult(AnalysisResult): 289 def __init__(self, zoneAnalysisObjectResult: _api.ZoneAnalysisObjectResult): 290 self._Entity = zoneAnalysisObjectResult 291 292 @property 293 def ObjectId(self) -> types.FamilyObjectUID: 294 return types.FamilyObjectUID[self._Entity.ObjectId.ToString()]
Contains result information for an analysis
Inherited Members
297class AssignableProperty(IdNameEntity): 298 def __init__(self, assignableProperty: _api.AssignableProperty): 299 self._Entity = assignableProperty
Represents an entity with an ID and Name.
Inherited Members
302class AssignablePropertyWithFamilyCategory(AssignableProperty): 303 def __init__(self, assignablePropertyWithFamilyCategory: _api.AssignablePropertyWithFamilyCategory): 304 self._Entity = assignablePropertyWithFamilyCategory 305 306 @property 307 def FamilyCategory(self) -> types.FamilyCategory: 308 return types.FamilyCategory[self._Entity.FamilyCategory.ToString()]
Represents an entity with an ID and Name.
Inherited Members
311class FailureObjectGroup(IdNameEntity): 312 def __init__(self, failureObjectGroup: _api.FailureObjectGroup): 313 self._Entity = failureObjectGroup 314 315 @property 316 def ObjectGroup(self) -> types.ObjectGroup: 317 return types.ObjectGroup[self._Entity.ObjectGroup.ToString()] 318 319 @property 320 def IsEnabled(self) -> bool: 321 return self._Entity.IsEnabled 322 323 @property 324 def LimitUltimate(self) -> types.LimitUltimate: 325 ''' 326 Limit vs Ultimate loads. 327 ''' 328 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 329 330 @property 331 def RequiredMargin(self) -> float: 332 return self._Entity.RequiredMargin 333 334 @IsEnabled.setter 335 def IsEnabled(self, value: bool) -> None: 336 self._Entity.IsEnabled = value 337 338 @LimitUltimate.setter 339 def LimitUltimate(self, value: types.LimitUltimate) -> None: 340 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 341 342 @RequiredMargin.setter 343 def RequiredMargin(self, value: float) -> None: 344 self._Entity.RequiredMargin = value
Represents an entity with an ID and Name.
323 @property 324 def LimitUltimate(self) -> types.LimitUltimate: 325 ''' 326 Limit vs Ultimate loads. 327 ''' 328 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()]
Limit vs Ultimate loads.
Inherited Members
347class FailureSetting(IdNameEntity): 348 ''' 349 Setting for a Failure Mode or a Failure Criteria. 350 ''' 351 def __init__(self, failureSetting: _api.FailureSetting): 352 self._Entity = failureSetting 353 354 @property 355 def CategoryId(self) -> int: 356 return self._Entity.CategoryId 357 358 @property 359 def DataType(self) -> types.UserConstantDataType: 360 return types.UserConstantDataType[self._Entity.DataType.ToString()] 361 362 @property 363 def DefaultValue(self) -> str: 364 return self._Entity.DefaultValue 365 366 @property 367 def Description(self) -> str: 368 return self._Entity.Description 369 370 @property 371 def EnumValues(self) -> dict[int, str]: 372 enumValuesDict = {} 373 for kvp in self._Entity.EnumValues: 374 enumValuesDict[int(kvp.Key)] = str(kvp.Value) 375 376 return enumValuesDict 377 378 @property 379 def PackageId(self) -> int: 380 return self._Entity.PackageId 381 382 @property 383 def PackageSettingId(self) -> int: 384 return self._Entity.PackageSettingId 385 386 @property 387 def UID(self) -> Guid: 388 return self._Entity.UID 389 390 @property 391 def Value(self) -> str: 392 return self._Entity.Value 393 394 def SetStringValue(self, value: str) -> None: 395 return self._Entity.SetStringValue(value) 396 397 def SetIntValue(self, value: int) -> None: 398 return self._Entity.SetIntValue(value) 399 400 def SetFloatValue(self, value: float) -> None: 401 return self._Entity.SetFloatValue(value) 402 403 def SetBoolValue(self, value: bool) -> None: 404 return self._Entity.SetBoolValue(value) 405 406 def SetSelectionValue(self, index: int) -> None: 407 return self._Entity.SetSelectionValue(index)
Setting for a Failure Mode or a Failure Criteria.
Inherited Members
410class IdEntityCol(Generic[T], ABC): 411 def __init__(self, idEntityCol: _api.IdEntityCol): 412 self._Entity = idEntityCol 413 414 @property 415 def IdEntityColList(self) -> tuple[IdEntity]: 416 if self._Entity.Count() <= 0: 417 return () 418 thisClass = type(self._Entity._items[0]).__name__ 419 givenClass = IdEntity 420 for subclass in IdEntity.__subclasses__(): 421 if subclass.__name__ == thisClass: 422 givenClass = subclass 423 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity]) 424 425 @property 426 def Ids(self) -> tuple[int]: 427 return tuple([int(int32) for int32 in self._Entity.Ids]) 428 429 def Contains(self, id: int) -> bool: 430 return self._Entity.Contains(id) 431 432 def Count(self) -> int: 433 return self._Entity.Count() 434 435 def Get(self, id: int) -> T: 436 return self._Entity.Get(id) 437 438 def __getitem__(self, index: int): 439 return self.IdEntityColList[index] 440 441 def __iter__(self): 442 yield from self.IdEntityColList 443 444 def __len__(self): 445 return len(self.IdEntityColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
414 @property 415 def IdEntityColList(self) -> tuple[IdEntity]: 416 if self._Entity.Count() <= 0: 417 return () 418 thisClass = type(self._Entity._items[0]).__name__ 419 givenClass = IdEntity 420 for subclass in IdEntity.__subclasses__(): 421 if subclass.__name__ == thisClass: 422 givenClass = subclass 423 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity])
448class IdNameEntityCol(IdEntityCol, Generic[T]): 449 def __init__(self, idNameEntityCol: _api.IdNameEntityCol): 450 self._Entity = idNameEntityCol 451 self._CollectedClass = T 452 453 @property 454 def IdNameEntityColList(self) -> tuple[T]: 455 if self._Entity.Count() <= 0: 456 return () 457 thisClass = type(self._Entity._items[0]).__name__ 458 givenClass = T 459 for subclass in T.__subclasses__(): 460 if subclass.__name__ == thisClass: 461 givenClass = subclass 462 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity]) 463 464 @property 465 def Names(self) -> tuple[str]: 466 return tuple([str(string) for string in self._Entity.Names]) 467 468 @overload 469 def Get(self, name: str) -> T: ... 470 471 @overload 472 def Get(self, id: int) -> T: ... 473 474 def Get(self, item1 = None) -> T: 475 if isinstance(item1, str): 476 return self._Entity.Get(item1) 477 478 if isinstance(item1, int): 479 return super().Get(item1) 480 481 return self._Entity.Get(item1) 482 483 def __getitem__(self, index: int): 484 return self.IdNameEntityColList[index] 485 486 def __iter__(self): 487 yield from self.IdNameEntityColList 488 489 def __len__(self): 490 return len(self.IdNameEntityColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
453 @property 454 def IdNameEntityColList(self) -> tuple[T]: 455 if self._Entity.Count() <= 0: 456 return () 457 thisClass = type(self._Entity._items[0]).__name__ 458 givenClass = T 459 for subclass in T.__subclasses__(): 460 if subclass.__name__ == thisClass: 461 givenClass = subclass 462 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity])
Inherited Members
493class FailureObjectGroupCol(IdNameEntityCol[FailureObjectGroup]): 494 def __init__(self, failureObjectGroupCol: _api.FailureObjectGroupCol): 495 self._Entity = failureObjectGroupCol 496 self._CollectedClass = FailureObjectGroup 497 498 @property 499 def FailureObjectGroupColList(self) -> tuple[FailureObjectGroup]: 500 return tuple([FailureObjectGroup(failureObjectGroupCol) for failureObjectGroupCol in self._Entity]) 501 502 @overload 503 def Get(self, objectGroup: types.ObjectGroup) -> FailureObjectGroup: ... 504 505 @overload 506 def Get(self, name: str) -> FailureObjectGroup: ... 507 508 @overload 509 def Get(self, id: int) -> FailureObjectGroup: ... 510 511 def Get(self, item1 = None) -> FailureObjectGroup: 512 if isinstance(item1, types.ObjectGroup): 513 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 514 515 if isinstance(item1, str): 516 return FailureObjectGroup(super().Get(item1)) 517 518 if isinstance(item1, int): 519 return FailureObjectGroup(super().Get(item1)) 520 521 return self._Entity.Get(_types.ObjectGroup(item1.value)) 522 523 def __getitem__(self, index: int): 524 return self.FailureObjectGroupColList[index] 525 526 def __iter__(self): 527 yield from self.FailureObjectGroupColList 528 529 def __len__(self): 530 return len(self.FailureObjectGroupColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
511 def Get(self, item1 = None) -> FailureObjectGroup: 512 if isinstance(item1, types.ObjectGroup): 513 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 514 515 if isinstance(item1, str): 516 return FailureObjectGroup(super().Get(item1)) 517 518 if isinstance(item1, int): 519 return FailureObjectGroup(super().Get(item1)) 520 521 return self._Entity.Get(_types.ObjectGroup(item1.value))
Inherited Members
533class FailureSettingCol(IdNameEntityCol[FailureSetting]): 534 def __init__(self, failureSettingCol: _api.FailureSettingCol): 535 self._Entity = failureSettingCol 536 self._CollectedClass = FailureSetting 537 538 @property 539 def FailureSettingColList(self) -> tuple[FailureSetting]: 540 return tuple([FailureSetting(failureSettingCol) for failureSettingCol in self._Entity]) 541 542 @overload 543 def Get(self, name: str) -> FailureSetting: ... 544 545 @overload 546 def Get(self, id: int) -> FailureSetting: ... 547 548 def Get(self, item1 = None) -> FailureSetting: 549 if isinstance(item1, str): 550 return FailureSetting(super().Get(item1)) 551 552 if isinstance(item1, int): 553 return FailureSetting(super().Get(item1)) 554 555 return self._Entity.Get(item1) 556 557 def __getitem__(self, index: int): 558 return self.FailureSettingColList[index] 559 560 def __iter__(self): 561 yield from self.FailureSettingColList 562 563 def __len__(self): 564 return len(self.FailureSettingColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
567class FailureCriterion(IdNameEntity): 568 def __init__(self, failureCriterion: _api.FailureCriterion): 569 self._Entity = failureCriterion 570 571 @property 572 def Description(self) -> str: 573 return self._Entity.Description 574 575 @property 576 def IsEnabled(self) -> bool: 577 return self._Entity.IsEnabled 578 579 @property 580 def LimitUltimate(self) -> types.LimitUltimate: 581 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 582 583 @property 584 def ObjectGroups(self) -> FailureObjectGroupCol: 585 result = self._Entity.ObjectGroups 586 return FailureObjectGroupCol(result) if result is not None else None 587 588 @property 589 def RequiredMargin(self) -> float: 590 return self._Entity.RequiredMargin 591 592 @property 593 def Settings(self) -> FailureSettingCol: 594 result = self._Entity.Settings 595 return FailureSettingCol(result) if result is not None else None 596 597 @IsEnabled.setter 598 def IsEnabled(self, value: bool) -> None: 599 self._Entity.IsEnabled = value 600 601 @LimitUltimate.setter 602 def LimitUltimate(self, value: types.LimitUltimate) -> None: 603 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 604 605 @RequiredMargin.setter 606 def RequiredMargin(self, value: float) -> None: 607 self._Entity.RequiredMargin = value
Represents an entity with an ID and Name.
Inherited Members
610class IdNameEntityRenameable(IdNameEntity): 611 def __init__(self, idNameEntityRenameable: _api.IdNameEntityRenameable): 612 self._Entity = idNameEntityRenameable 613 614 def Rename(self, name: str) -> None: 615 return self._Entity.Rename(name)
Represents an entity with an ID and Name.
Inherited Members
618class FailureCriterionCol(IdNameEntityCol[FailureCriterion]): 619 def __init__(self, failureCriterionCol: _api.FailureCriterionCol): 620 self._Entity = failureCriterionCol 621 self._CollectedClass = FailureCriterion 622 623 @property 624 def FailureCriterionColList(self) -> tuple[FailureCriterion]: 625 return tuple([FailureCriterion(failureCriterionCol) for failureCriterionCol in self._Entity]) 626 627 @overload 628 def Get(self, name: str) -> FailureCriterion: ... 629 630 @overload 631 def Get(self, id: int) -> FailureCriterion: ... 632 633 def Get(self, item1 = None) -> FailureCriterion: 634 if isinstance(item1, str): 635 return FailureCriterion(super().Get(item1)) 636 637 if isinstance(item1, int): 638 return FailureCriterion(super().Get(item1)) 639 640 return self._Entity.Get(item1) 641 642 def __getitem__(self, index: int): 643 return self.FailureCriterionColList[index] 644 645 def __iter__(self): 646 yield from self.FailureCriterionColList 647 648 def __len__(self): 649 return len(self.FailureCriterionColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
652class FailureMode(IdNameEntityRenameable): 653 def __init__(self, failureMode: _api.FailureMode): 654 self._Entity = failureMode 655 656 @property 657 def AnalysisCategoryId(self) -> int: 658 return self._Entity.AnalysisCategoryId 659 660 @property 661 def AnalysisCategoryName(self) -> str: 662 return self._Entity.AnalysisCategoryName 663 664 @property 665 def Criteria(self) -> FailureCriterionCol: 666 result = self._Entity.Criteria 667 return FailureCriterionCol(result) if result is not None else None 668 669 @property 670 def Settings(self) -> FailureSettingCol: 671 result = self._Entity.Settings 672 return FailureSettingCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
675class FailureModeCol(IdNameEntityCol[FailureMode]): 676 def __init__(self, failureModeCol: _api.FailureModeCol): 677 self._Entity = failureModeCol 678 self._CollectedClass = FailureMode 679 680 @property 681 def FailureModeColList(self) -> tuple[FailureMode]: 682 return tuple([FailureMode(failureModeCol) for failureModeCol in self._Entity]) 683 684 @overload 685 def CreateFailureMode(self, failureModeCategoryId: int, name: str = None) -> FailureMode: ... 686 687 @overload 688 def CreateFailureMode(self, failureModeCategory: str, name: str = None) -> FailureMode: ... 689 690 @overload 691 def Get(self, name: str) -> FailureMode: ... 692 693 @overload 694 def Get(self, id: int) -> FailureMode: ... 695 696 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 697 if isinstance(item1, int) and isinstance(item2, str): 698 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 699 700 if isinstance(item1, str) and isinstance(item2, str): 701 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 702 703 return self._Entity.CreateFailureMode(item1, item2) 704 705 def Get(self, item1 = None) -> FailureMode: 706 if isinstance(item1, str): 707 return FailureMode(super().Get(item1)) 708 709 if isinstance(item1, int): 710 return FailureMode(super().Get(item1)) 711 712 return self._Entity.Get(item1) 713 714 def __getitem__(self, index: int): 715 return self.FailureModeColList[index] 716 717 def __iter__(self): 718 yield from self.FailureModeColList 719 720 def __len__(self): 721 return len(self.FailureModeColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
696 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 697 if isinstance(item1, int) and isinstance(item2, str): 698 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 699 700 if isinstance(item1, str) and isinstance(item2, str): 701 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 702 703 return self._Entity.CreateFailureMode(item1, item2)
Inherited Members
724class AnalysisProperty(AssignablePropertyWithFamilyCategory): 725 def __init__(self, analysisProperty: _api.AnalysisProperty): 726 self._Entity = analysisProperty 727 728 @property 729 def FailureModes(self) -> FailureModeCol: 730 result = self._Entity.FailureModes 731 return FailureModeCol(result) if result is not None else None 732 733 @overload 734 def AddFailureMode(self, id: int) -> None: ... 735 736 @overload 737 def AddFailureMode(self, ids: tuple[int]) -> None: ... 738 739 @overload 740 def RemoveFailureMode(self, id: int) -> None: ... 741 742 @overload 743 def RemoveFailureMode(self, ids: tuple[int]) -> None: ... 744 745 def AddFailureMode(self, item1 = None) -> None: 746 if isinstance(item1, int): 747 return self._Entity.AddFailureMode(item1) 748 749 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 750 idsList = MakeCSharpIntList(item1) 751 idsEnumerable = IEnumerable(idsList) 752 return self._Entity.AddFailureMode(idsEnumerable) 753 754 return self._Entity.AddFailureMode(item1) 755 756 def RemoveFailureMode(self, item1 = None) -> None: 757 if isinstance(item1, int): 758 return self._Entity.RemoveFailureMode(item1) 759 760 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 761 idsList = MakeCSharpIntList(item1) 762 idsEnumerable = IEnumerable(idsList) 763 return self._Entity.RemoveFailureMode(idsEnumerable) 764 765 return self._Entity.RemoveFailureMode(item1)
Represents an entity with an ID and Name.
745 def AddFailureMode(self, item1 = None) -> None: 746 if isinstance(item1, int): 747 return self._Entity.AddFailureMode(item1) 748 749 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 750 idsList = MakeCSharpIntList(item1) 751 idsEnumerable = IEnumerable(idsList) 752 return self._Entity.AddFailureMode(idsEnumerable) 753 754 return self._Entity.AddFailureMode(item1)
756 def RemoveFailureMode(self, item1 = None) -> None: 757 if isinstance(item1, int): 758 return self._Entity.RemoveFailureMode(item1) 759 760 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 761 idsList = MakeCSharpIntList(item1) 762 idsEnumerable = IEnumerable(idsList) 763 return self._Entity.RemoveFailureMode(idsEnumerable) 764 765 return self._Entity.RemoveFailureMode(item1)
Inherited Members
768class DesignProperty(AssignablePropertyWithFamilyCategory): 769 def __init__(self, designProperty: _api.DesignProperty): 770 self._Entity = designProperty 771 772 def Copy(self, newName: str = None) -> DesignProperty: 773 result = self._Entity.Copy(newName) 774 thisClass = type(result).__name__ 775 givenClass = DesignProperty 776 for subclass in DesignProperty.__subclasses__(): 777 if subclass.__name__ == thisClass: 778 givenClass = subclass 779 return givenClass(result)
Represents an entity with an ID and Name.
772 def Copy(self, newName: str = None) -> DesignProperty: 773 result = self._Entity.Copy(newName) 774 thisClass = type(result).__name__ 775 givenClass = DesignProperty 776 for subclass in DesignProperty.__subclasses__(): 777 if subclass.__name__ == thisClass: 778 givenClass = subclass 779 return givenClass(result)
Inherited Members
782class LoadProperty(AssignableProperty): 783 def __init__(self, loadProperty: _api.LoadProperty): 784 self._Entity = loadProperty 785 786 @property 787 def Category(self) -> types.FamilyCategory: 788 return types.FamilyCategory[self._Entity.Category.ToString()] 789 790 @property 791 def Type(self) -> types.LoadPropertyType: 792 return types.LoadPropertyType[self._Entity.Type.ToString()] 793 794 @property 795 def IsZeroCurvature(self) -> bool: 796 return self._Entity.IsZeroCurvature 797 798 @property 799 def ModificationDate(self) -> DateTime: 800 return self._Entity.ModificationDate
Represents an entity with an ID and Name.
Inherited Members
803class DesignLoadSubcase(IdNameEntity): 804 def __init__(self, designLoadSubcase: _api.DesignLoadSubcase): 805 self._Entity = designLoadSubcase 806 807 @property 808 def RunDeckId(self) -> int: 809 return self._Entity.RunDeckId 810 811 @property 812 def IsThermal(self) -> bool: 813 return self._Entity.IsThermal 814 815 @property 816 def IsEditable(self) -> bool: 817 return self._Entity.IsEditable 818 819 @property 820 def Description(self) -> str: 821 return self._Entity.Description 822 823 @property 824 def ModificationDate(self) -> DateTime: 825 return self._Entity.ModificationDate 826 827 @property 828 def NastranSubcaseId(self) -> int: 829 return self._Entity.NastranSubcaseId 830 831 @property 832 def NastranLoadId(self) -> int: 833 return self._Entity.NastranLoadId 834 835 @property 836 def NastranSpcId(self) -> int: 837 return self._Entity.NastranSpcId 838 839 @property 840 def AbaqusStepName(self) -> str: 841 return self._Entity.AbaqusStepName 842 843 @property 844 def AbaqusLoadCaseName(self) -> str: 845 return self._Entity.AbaqusLoadCaseName 846 847 @property 848 def AbaqusStepTime(self) -> float: 849 return self._Entity.AbaqusStepTime 850 851 @property 852 def RunDeckOrder(self) -> int: 853 return self._Entity.RunDeckOrder 854 855 @property 856 def SolutionType(self) -> types.FeaSolutionType: 857 return types.FeaSolutionType[self._Entity.SolutionType.ToString()]
Represents an entity with an ID and Name.
Inherited Members
860class DesignLoadSubcaseMultiplier(IdNameEntity): 861 def __init__(self, designLoadSubcaseMultiplier: _api.DesignLoadSubcaseMultiplier): 862 self._Entity = designLoadSubcaseMultiplier 863 864 @property 865 def LimitFactor(self) -> float: 866 return self._Entity.LimitFactor 867 868 @property 869 def Subcase(self) -> DesignLoadSubcase: 870 result = self._Entity.Subcase 871 return DesignLoadSubcase(result) if result is not None else None 872 873 @property 874 def UltimateFactor(self) -> float: 875 return self._Entity.UltimateFactor 876 877 @property 878 def Value(self) -> float: 879 return self._Entity.Value
Represents an entity with an ID and Name.
Inherited Members
882class DesignLoadSubcaseTemperature(IdNameEntity): 883 def __init__(self, designLoadSubcaseTemperature: _api.DesignLoadSubcaseTemperature): 884 self._Entity = designLoadSubcaseTemperature 885 886 @property 887 def HasTemperatureSubcase(self) -> bool: 888 return self._Entity.HasTemperatureSubcase 889 890 @property 891 def Subcase(self) -> DesignLoadSubcase: 892 result = self._Entity.Subcase 893 return DesignLoadSubcase(result) if result is not None else None 894 895 @property 896 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 897 ''' 898 Load Case Setting selection for analysis and initial temperature. 899 ''' 900 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()] 901 902 @property 903 def Value(self) -> float: 904 return self._Entity.Value
Represents an entity with an ID and Name.
895 @property 896 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 897 ''' 898 Load Case Setting selection for analysis and initial temperature. 899 ''' 900 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()]
Load Case Setting selection for analysis and initial temperature.
Inherited Members
907class DesignLoadSubcaseMultiplierCol(IdNameEntityCol[DesignLoadSubcaseMultiplier]): 908 def __init__(self, designLoadSubcaseMultiplierCol: _api.DesignLoadSubcaseMultiplierCol): 909 self._Entity = designLoadSubcaseMultiplierCol 910 self._CollectedClass = DesignLoadSubcaseMultiplier 911 912 @property 913 def DesignLoadSubcaseMultiplierColList(self) -> tuple[DesignLoadSubcaseMultiplier]: 914 return tuple([DesignLoadSubcaseMultiplier(designLoadSubcaseMultiplierCol) for designLoadSubcaseMultiplierCol in self._Entity]) 915 916 @overload 917 def Get(self, name: str) -> DesignLoadSubcaseMultiplier: ... 918 919 @overload 920 def Get(self, id: int) -> DesignLoadSubcaseMultiplier: ... 921 922 def Get(self, item1 = None) -> DesignLoadSubcaseMultiplier: 923 if isinstance(item1, str): 924 return DesignLoadSubcaseMultiplier(super().Get(item1)) 925 926 if isinstance(item1, int): 927 return DesignLoadSubcaseMultiplier(super().Get(item1)) 928 929 return self._Entity.Get(item1) 930 931 def __getitem__(self, index: int): 932 return self.DesignLoadSubcaseMultiplierColList[index] 933 934 def __iter__(self): 935 yield from self.DesignLoadSubcaseMultiplierColList 936 937 def __len__(self): 938 return len(self.DesignLoadSubcaseMultiplierColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
941class DesignLoad(IdNameEntity): 942 def __init__(self, designLoad: _api.DesignLoad): 943 self._Entity = designLoad 944 945 @property 946 def AnalysisTemperature(self) -> DesignLoadSubcaseTemperature: 947 result = self._Entity.AnalysisTemperature 948 return DesignLoadSubcaseTemperature(result) if result is not None else None 949 950 @property 951 def InitialTemperature(self) -> DesignLoadSubcaseTemperature: 952 result = self._Entity.InitialTemperature 953 return DesignLoadSubcaseTemperature(result) if result is not None else None 954 955 @property 956 def Description(self) -> str: 957 return self._Entity.Description 958 959 @property 960 def IsActive(self) -> bool: 961 return self._Entity.IsActive 962 963 @property 964 def IsEditable(self) -> bool: 965 return self._Entity.IsEditable 966 967 @property 968 def IsVirtual(self) -> bool: 969 return self._Entity.IsVirtual 970 971 @property 972 def ModificationDate(self) -> DateTime: 973 return self._Entity.ModificationDate 974 975 @property 976 def SubcaseMultipliers(self) -> DesignLoadSubcaseMultiplierCol: 977 result = self._Entity.SubcaseMultipliers 978 return DesignLoadSubcaseMultiplierCol(result) if result is not None else None 979 980 @property 981 def Types(self) -> list[types.LoadCaseType]: 982 return [types.LoadCaseType[loadCaseType.ToString()] for loadCaseType in self._Entity.Types] 983 984 @property 985 def UID(self) -> Guid: 986 return self._Entity.UID
Represents an entity with an ID and Name.
Inherited Members
989class JointDesignResult(IdEntity): 990 def __init__(self, jointDesignResult: _api.JointDesignResult): 991 self._Entity = jointDesignResult
Represents an entity with an ID.
994class ZoneDesignResult(IdEntity): 995 def __init__(self, zoneDesignResult: _api.ZoneDesignResult): 996 self._Entity = zoneDesignResult 997 998 @property 999 def VariableParameter(self) -> types.VariableParameter: 1000 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 1001 1002 @property 1003 def Value(self) -> float: 1004 return self._Entity.Value 1005 1006 @property 1007 def MaterialId(self) -> int: 1008 return self._Entity.MaterialId 1009 1010 @property 1011 def MaterialType(self) -> types.MaterialType: 1012 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
1015class Vector3d: 1016 ''' 1017 Represents a readonly 3D vector. 1018 ''' 1019 def __init__(self, vector3d: _api.Vector3d): 1020 self._Entity = vector3d 1021 1022 def Create_Vector3d(x: float, y: float, z: float): 1023 return Vector3d(_api.Vector3d(x, y, z)) 1024 1025 @property 1026 def X(self) -> float: 1027 return self._Entity.X 1028 1029 @property 1030 def Y(self) -> float: 1031 return self._Entity.Y 1032 1033 @property 1034 def Z(self) -> float: 1035 return self._Entity.Z 1036 1037 @overload 1038 def Equals(self, other) -> bool: ... 1039 1040 @overload 1041 def Equals(self, obj) -> bool: ... 1042 1043 def GetHashCode(self) -> int: 1044 return self._Entity.GetHashCode() 1045 1046 def Equals(self, item1 = None) -> bool: 1047 if isinstance(item1, Vector3d): 1048 return self._Entity.Equals(item1._Entity) 1049 1050 return self._Entity.Equals(item1._Entity) 1051 1052 def __eq__(self, other): 1053 return self.Equals(other) 1054 1055 def __ne__(self, other): 1056 return not self.Equals(other)
Represents a readonly 3D vector.
1059class DiscreteField(IdNameEntityRenameable): 1060 ''' 1061 Represents a table of discrete field data. 1062 ''' 1063 def __init__(self, discreteField: _api.DiscreteField): 1064 self._Entity = discreteField 1065 1066 @property 1067 def Columns(self) -> dict[int, str]: 1068 columnsDict = {} 1069 for kvp in self._Entity.Columns: 1070 columnsDict[int(kvp.Key)] = str(kvp.Value) 1071 1072 return columnsDict 1073 1074 @property 1075 def ColumnCount(self) -> int: 1076 return self._Entity.ColumnCount 1077 1078 @property 1079 def DataType(self) -> types.DiscreteFieldDataType: 1080 ''' 1081 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1082 ''' 1083 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()] 1084 1085 @property 1086 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1087 ''' 1088 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1089 ''' 1090 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()] 1091 1092 @property 1093 def PointIds(self) -> list[Vector3d]: 1094 return [Vector3d(vector3d) for vector3d in self._Entity.PointIds] 1095 1096 @property 1097 def RowCount(self) -> int: 1098 return self._Entity.RowCount 1099 1100 @property 1101 def RowIds(self) -> list[int]: 1102 return [int32 for int32 in self._Entity.RowIds] 1103 1104 def AddColumn(self, name: str) -> int: 1105 return self._Entity.AddColumn(name) 1106 1107 def AddPointRow(self, pointId: Vector3d) -> None: 1108 return self._Entity.AddPointRow(pointId._Entity) 1109 1110 @overload 1111 def ReadNumericCell(self, entityId: int, columnId: int) -> float: ... 1112 1113 @overload 1114 def ReadNumericCell(self, pointId: Vector3d, columnId: int) -> float: ... 1115 1116 @overload 1117 def ReadStringCell(self, entityId: int, columnId: int) -> str: ... 1118 1119 @overload 1120 def ReadStringCell(self, pointId: Vector3d, columnId: int) -> str: ... 1121 1122 def SetColumnName(self, columnId: int, name: str) -> None: 1123 return self._Entity.SetColumnName(columnId, name) 1124 1125 @overload 1126 def SetNumericValue(self, entityId: int, columnId: int, value: float) -> None: ... 1127 1128 @overload 1129 def SetNumericValue(self, pointId: Vector3d, columnId: int, value: float) -> None: ... 1130 1131 @overload 1132 def SetStringValue(self, entityId: int, columnId: int, value: str) -> None: ... 1133 1134 @overload 1135 def SetStringValue(self, pointId: Vector3d, columnId: int, value: str) -> None: ... 1136 1137 def DeleteAllRows(self) -> None: 1138 ''' 1139 Delete all rows for this discrete field. 1140 ''' 1141 return self._Entity.DeleteAllRows() 1142 1143 def DeleteColumn(self, columnId: int) -> None: 1144 return self._Entity.DeleteColumn(columnId) 1145 1146 def DeletePointRow(self, pointId: Vector3d) -> None: 1147 return self._Entity.DeletePointRow(pointId._Entity) 1148 1149 def DeleteRow(self, entityId: int) -> None: 1150 return self._Entity.DeleteRow(entityId) 1151 1152 def DeleteRowsAndColumns(self) -> None: 1153 ''' 1154 Delete all rows and columns for this discrete field. 1155 ''' 1156 return self._Entity.DeleteRowsAndColumns() 1157 1158 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1159 if isinstance(item1, int) and isinstance(item2, int): 1160 return self._Entity.ReadNumericCell(item1, item2) 1161 1162 if isinstance(item1, Vector3d) and isinstance(item2, int): 1163 return self._Entity.ReadNumericCell(item1._Entity, item2) 1164 1165 return self._Entity.ReadNumericCell(item1, item2) 1166 1167 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1168 if isinstance(item1, int) and isinstance(item2, int): 1169 return self._Entity.ReadStringCell(item1, item2) 1170 1171 if isinstance(item1, Vector3d) and isinstance(item2, int): 1172 return self._Entity.ReadStringCell(item1._Entity, item2) 1173 1174 return self._Entity.ReadStringCell(item1, item2) 1175 1176 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1177 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1178 return self._Entity.SetNumericValue(item1, item2, item3) 1179 1180 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1181 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1182 1183 return self._Entity.SetNumericValue(item1, item2, item3) 1184 1185 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1186 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1187 return self._Entity.SetStringValue(item1, item2, item3) 1188 1189 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1190 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1191 1192 return self._Entity.SetStringValue(item1, item2, item3)
Represents a table of discrete field data.
1078 @property 1079 def DataType(self) -> types.DiscreteFieldDataType: 1080 ''' 1081 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1082 ''' 1083 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()]
Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String.
1085 @property 1086 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1087 ''' 1088 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1089 ''' 1090 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()]
Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc.
1158 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1159 if isinstance(item1, int) and isinstance(item2, int): 1160 return self._Entity.ReadNumericCell(item1, item2) 1161 1162 if isinstance(item1, Vector3d) and isinstance(item2, int): 1163 return self._Entity.ReadNumericCell(item1._Entity, item2) 1164 1165 return self._Entity.ReadNumericCell(item1, item2)
1167 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1168 if isinstance(item1, int) and isinstance(item2, int): 1169 return self._Entity.ReadStringCell(item1, item2) 1170 1171 if isinstance(item1, Vector3d) and isinstance(item2, int): 1172 return self._Entity.ReadStringCell(item1._Entity, item2) 1173 1174 return self._Entity.ReadStringCell(item1, item2)
1176 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1177 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1178 return self._Entity.SetNumericValue(item1, item2, item3) 1179 1180 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1181 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1182 1183 return self._Entity.SetNumericValue(item1, item2, item3)
1185 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1186 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1187 return self._Entity.SetStringValue(item1, item2, item3) 1188 1189 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1190 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1191 1192 return self._Entity.SetStringValue(item1, item2, item3)
1137 def DeleteAllRows(self) -> None: 1138 ''' 1139 Delete all rows for this discrete field. 1140 ''' 1141 return self._Entity.DeleteAllRows()
Delete all rows for this discrete field.
1152 def DeleteRowsAndColumns(self) -> None: 1153 ''' 1154 Delete all rows and columns for this discrete field. 1155 ''' 1156 return self._Entity.DeleteRowsAndColumns()
Delete all rows and columns for this discrete field.
Inherited Members
1195class Node(IdEntity): 1196 def __init__(self, node: _api.Node): 1197 self._Entity = node 1198 1199 @property 1200 def X(self) -> float: 1201 return self._Entity.X 1202 1203 @property 1204 def Y(self) -> float: 1205 return self._Entity.Y 1206 1207 @property 1208 def Z(self) -> float: 1209 return self._Entity.Z
Represents an entity with an ID.
1212class Centroid: 1213 def __init__(self, centroid: _api.Centroid): 1214 self._Entity = centroid 1215 1216 @property 1217 def X(self) -> float: 1218 return self._Entity.X 1219 1220 @property 1221 def Y(self) -> float: 1222 return self._Entity.Y 1223 1224 @property 1225 def Z(self) -> float: 1226 return self._Entity.Z
1229class Element(IdEntity): 1230 def __init__(self, element: _api.Element): 1231 self._Entity = element 1232 1233 @property 1234 def MarginOfSafety(self) -> float: 1235 return self._Entity.MarginOfSafety 1236 1237 @property 1238 def Centroid(self) -> Centroid: 1239 result = self._Entity.Centroid 1240 return Centroid(result) if result is not None else None 1241 1242 @property 1243 def Nodes(self) -> list[Node]: 1244 return [Node(node) for node in self._Entity.Nodes]
Represents an entity with an ID.
1247class FailureModeCategory(IdNameEntity): 1248 def __init__(self, failureModeCategory: _api.FailureModeCategory): 1249 self._Entity = failureModeCategory 1250 1251 @property 1252 def PackageId(self) -> int: 1253 return self._Entity.PackageId
Represents an entity with an ID and Name.
Inherited Members
1256class EntityWithAssignableProperties(IdNameEntityRenameable): 1257 def __init__(self, entityWithAssignableProperties: _api.EntityWithAssignableProperties): 1258 self._Entity = entityWithAssignableProperties 1259 1260 @property 1261 def AssignedAnalysisProperty(self) -> AnalysisProperty: 1262 result = self._Entity.AssignedAnalysisProperty 1263 return AnalysisProperty(result) if result is not None else None 1264 1265 @property 1266 def AssignedDesignProperty(self) -> DesignProperty: 1267 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1268 givenClass = DesignProperty 1269 for subclass in DesignProperty.__subclasses__(): 1270 if subclass.__name__ == thisClass: 1271 givenClass = subclass 1272 result = self._Entity.AssignedDesignProperty 1273 return givenClass(result) if result is not None else None 1274 1275 @property 1276 def AssignedLoadProperty(self) -> LoadProperty: 1277 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1278 givenClass = LoadProperty 1279 for subclass in LoadProperty.__subclasses__(): 1280 if subclass.__name__ == thisClass: 1281 givenClass = subclass 1282 result = self._Entity.AssignedLoadProperty 1283 return givenClass(result) if result is not None else None 1284 1285 def AssignAnalysisProperty(self, id: int) -> PropertyAssignmentStatus: 1286 return PropertyAssignmentStatus[self._Entity.AssignAnalysisProperty(id).ToString()] 1287 1288 def AssignDesignProperty(self, id: int) -> PropertyAssignmentStatus: 1289 return PropertyAssignmentStatus[self._Entity.AssignDesignProperty(id).ToString()] 1290 1291 def AssignLoadProperty(self, id: int) -> PropertyAssignmentStatus: 1292 return PropertyAssignmentStatus[self._Entity.AssignLoadProperty(id).ToString()] 1293 1294 def AssignProperty(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1295 return PropertyAssignmentStatus[self._Entity.AssignProperty(property._Entity).ToString()]
Represents an entity with an ID and Name.
1265 @property 1266 def AssignedDesignProperty(self) -> DesignProperty: 1267 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1268 givenClass = DesignProperty 1269 for subclass in DesignProperty.__subclasses__(): 1270 if subclass.__name__ == thisClass: 1271 givenClass = subclass 1272 result = self._Entity.AssignedDesignProperty 1273 return givenClass(result) if result is not None else None
1275 @property 1276 def AssignedLoadProperty(self) -> LoadProperty: 1277 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1278 givenClass = LoadProperty 1279 for subclass in LoadProperty.__subclasses__(): 1280 if subclass.__name__ == thisClass: 1281 givenClass = subclass 1282 result = self._Entity.AssignedLoadProperty 1283 return givenClass(result) if result is not None else None
Inherited Members
1298class AnalysisResultCol(Generic[T]): 1299 def __init__(self, analysisResultCol: _api.AnalysisResultCol): 1300 self._Entity = analysisResultCol 1301 1302 @property 1303 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1304 if self._Entity.Count() <= 0: 1305 return () 1306 thisClass = type(self._Entity._items[0]).__name__ 1307 givenClass = AnalysisResult 1308 for subclass in AnalysisResult.__subclasses__(): 1309 if subclass.__name__ == thisClass: 1310 givenClass = subclass 1311 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity]) 1312 1313 def Count(self) -> int: 1314 return self._Entity.Count() 1315 1316 def __getitem__(self, index: int): 1317 return self.AnalysisResultColList[index] 1318 1319 def __iter__(self): 1320 yield from self.AnalysisResultColList 1321 1322 def __len__(self): 1323 return len(self.AnalysisResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1302 @property 1303 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1304 if self._Entity.Count() <= 0: 1305 return () 1306 thisClass = type(self._Entity._items[0]).__name__ 1307 givenClass = AnalysisResult 1308 for subclass in AnalysisResult.__subclasses__(): 1309 if subclass.__name__ == thisClass: 1310 givenClass = subclass 1311 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity])
1326class ZoneJointEntity(EntityWithAssignableProperties): 1327 ''' 1328 Abstract base for a Zone or Joint. 1329 ''' 1330 def __init__(self, zoneJointEntity: _api.ZoneJointEntity): 1331 self._Entity = zoneJointEntity 1332 1333 @abstractmethod 1334 def GetMinimumMargin(self) -> Margin: 1335 return Margin(self._Entity.GetMinimumMargin()) 1336 1337 @abstractmethod 1338 def GetControllingResult(self) -> AnalysisResult: 1339 result = self._Entity.GetControllingResult() 1340 thisClass = type(result).__name__ 1341 givenClass = AnalysisResult 1342 for subclass in AnalysisResult.__subclasses__(): 1343 if subclass.__name__ == thisClass: 1344 givenClass = subclass 1345 return givenClass(result) 1346 1347 @abstractmethod 1348 def GetAllResults(self) -> AnalysisResultCol: 1349 return AnalysisResultCol(self._Entity.GetAllResults())
Abstract base for a Zone or Joint.
1337 @abstractmethod 1338 def GetControllingResult(self) -> AnalysisResult: 1339 result = self._Entity.GetControllingResult() 1340 thisClass = type(result).__name__ 1341 givenClass = AnalysisResult 1342 for subclass in AnalysisResult.__subclasses__(): 1343 if subclass.__name__ == thisClass: 1344 givenClass = subclass 1345 return givenClass(result)
1352class JointDesignResultCol(IdEntityCol[JointDesignResult]): 1353 def __init__(self, jointDesignResultCol: _api.JointDesignResultCol): 1354 self._Entity = jointDesignResultCol 1355 self._CollectedClass = JointDesignResult 1356 1357 @property 1358 def JointDesignResultColList(self) -> tuple[JointDesignResult]: 1359 return tuple([JointDesignResult(jointDesignResultCol) for jointDesignResultCol in self._Entity]) 1360 1361 @overload 1362 def Get(self, jointSelectionId: types.JointSelectionId) -> JointDesignResult: ... 1363 1364 @overload 1365 def Get(self, jointRangeId: types.JointRangeId) -> JointDesignResult: ... 1366 1367 @overload 1368 def Get(self, id: int) -> JointDesignResult: ... 1369 1370 def Get(self, item1 = None) -> JointDesignResult: 1371 if isinstance(item1, types.JointSelectionId): 1372 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1373 thisClass = type(result).__name__ 1374 givenClass = JointDesignResult 1375 for subclass in JointDesignResult.__subclasses__(): 1376 if subclass.__name__ == thisClass: 1377 givenClass = subclass 1378 return givenClass(result) 1379 1380 if isinstance(item1, types.JointRangeId): 1381 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1382 thisClass = type(result).__name__ 1383 givenClass = JointDesignResult 1384 for subclass in JointDesignResult.__subclasses__(): 1385 if subclass.__name__ == thisClass: 1386 givenClass = subclass 1387 return givenClass(result) 1388 1389 if isinstance(item1, int): 1390 return JointDesignResult(super().Get(item1)) 1391 1392 return self._Entity.Get(_types.JointSelectionId(item1.value)) 1393 1394 def __getitem__(self, index: int): 1395 return self.JointDesignResultColList[index] 1396 1397 def __iter__(self): 1398 yield from self.JointDesignResultColList 1399 1400 def __len__(self): 1401 return len(self.JointDesignResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1370 def Get(self, item1 = None) -> JointDesignResult: 1371 if isinstance(item1, types.JointSelectionId): 1372 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1373 thisClass = type(result).__name__ 1374 givenClass = JointDesignResult 1375 for subclass in JointDesignResult.__subclasses__(): 1376 if subclass.__name__ == thisClass: 1377 givenClass = subclass 1378 return givenClass(result) 1379 1380 if isinstance(item1, types.JointRangeId): 1381 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1382 thisClass = type(result).__name__ 1383 givenClass = JointDesignResult 1384 for subclass in JointDesignResult.__subclasses__(): 1385 if subclass.__name__ == thisClass: 1386 givenClass = subclass 1387 return givenClass(result) 1388 1389 if isinstance(item1, int): 1390 return JointDesignResult(super().Get(item1)) 1391 1392 return self._Entity.Get(_types.JointSelectionId(item1.value))
Inherited Members
1404class Joint(ZoneJointEntity): 1405 def __init__(self, joint: _api.Joint): 1406 self._Entity = joint 1407 1408 @property 1409 def JointRangeSizingResults(self) -> JointDesignResultCol: 1410 result = self._Entity.JointRangeSizingResults 1411 return JointDesignResultCol(result) if result is not None else None 1412 1413 @property 1414 def JointSelectionSizingResults(self) -> JointDesignResultCol: 1415 result = self._Entity.JointSelectionSizingResults 1416 return JointDesignResultCol(result) if result is not None else None 1417 1418 def GetAllResults(self) -> AnalysisResultCol: 1419 return AnalysisResultCol(self._Entity.GetAllResults()) 1420 1421 def GetControllingResult(self) -> AnalysisResult: 1422 result = self._Entity.GetControllingResult() 1423 thisClass = type(result).__name__ 1424 givenClass = AnalysisResult 1425 for subclass in AnalysisResult.__subclasses__(): 1426 if subclass.__name__ == thisClass: 1427 givenClass = subclass 1428 return givenClass(result) 1429 1430 def GetMinimumMargin(self) -> Margin: 1431 return Margin(self._Entity.GetMinimumMargin())
Abstract base for a Zone or Joint.
1421 def GetControllingResult(self) -> AnalysisResult: 1422 result = self._Entity.GetControllingResult() 1423 thisClass = type(result).__name__ 1424 givenClass = AnalysisResult 1425 for subclass in AnalysisResult.__subclasses__(): 1426 if subclass.__name__ == thisClass: 1427 givenClass = subclass 1428 return givenClass(result)
1434class ZoneDesignResultCol(IdEntityCol[ZoneDesignResult]): 1435 def __init__(self, zoneDesignResultCol: _api.ZoneDesignResultCol): 1436 self._Entity = zoneDesignResultCol 1437 self._CollectedClass = ZoneDesignResult 1438 1439 @property 1440 def ZoneDesignResultColList(self) -> tuple[ZoneDesignResult]: 1441 return tuple([ZoneDesignResult(zoneDesignResultCol) for zoneDesignResultCol in self._Entity]) 1442 1443 @overload 1444 def Get(self, parameterId: types.VariableParameter) -> ZoneDesignResult: ... 1445 1446 @overload 1447 def Get(self, id: int) -> ZoneDesignResult: ... 1448 1449 def Get(self, item1 = None) -> ZoneDesignResult: 1450 if isinstance(item1, types.VariableParameter): 1451 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1452 1453 if isinstance(item1, int): 1454 return ZoneDesignResult(super().Get(item1)) 1455 1456 return self._Entity.Get(_types.VariableParameter(item1.value)) 1457 1458 def __getitem__(self, index: int): 1459 return self.ZoneDesignResultColList[index] 1460 1461 def __iter__(self): 1462 yield from self.ZoneDesignResultColList 1463 1464 def __len__(self): 1465 return len(self.ZoneDesignResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1449 def Get(self, item1 = None) -> ZoneDesignResult: 1450 if isinstance(item1, types.VariableParameter): 1451 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1452 1453 if isinstance(item1, int): 1454 return ZoneDesignResult(super().Get(item1)) 1455 1456 return self._Entity.Get(_types.VariableParameter(item1.value))
Inherited Members
1468class ZoneBase(ZoneJointEntity): 1469 ''' 1470 Abstract for regular Zones and Panel Segments. 1471 ''' 1472 def __init__(self, zoneBase: _api.ZoneBase): 1473 self._Entity = zoneBase 1474 1475 @property 1476 def Centroid(self) -> Centroid: 1477 result = self._Entity.Centroid 1478 return Centroid(result) if result is not None else None 1479 1480 @property 1481 def Id(self) -> int: 1482 return self._Entity.Id 1483 1484 @property 1485 def Weight(self) -> float: 1486 return self._Entity.Weight 1487 1488 @property 1489 def NonOptimumFactor(self) -> float: 1490 return self._Entity.NonOptimumFactor 1491 1492 @property 1493 def AddedWeight(self) -> float: 1494 return self._Entity.AddedWeight 1495 1496 @property 1497 def SuperimposePanel(self) -> bool: 1498 return self._Entity.SuperimposePanel 1499 1500 @property 1501 def BucklingImperfection(self) -> float: 1502 return self._Entity.BucklingImperfection 1503 1504 @property 1505 def IsBeamColumn(self) -> bool: 1506 return self._Entity.IsBeamColumn 1507 1508 @property 1509 def SuperimposeBoundaryCondition(self) -> int: 1510 return self._Entity.SuperimposeBoundaryCondition 1511 1512 @property 1513 def IsZeroOutFeaMoments(self) -> bool: 1514 return self._Entity.IsZeroOutFeaMoments 1515 1516 @property 1517 def IsZeroOutFeaTransverseShears(self) -> bool: 1518 return self._Entity.IsZeroOutFeaTransverseShears 1519 1520 @property 1521 def MechanicalLimit(self) -> float: 1522 return self._Entity.MechanicalLimit 1523 1524 @property 1525 def MechanicalUltimate(self) -> float: 1526 return self._Entity.MechanicalUltimate 1527 1528 @property 1529 def ThermalHelp(self) -> float: 1530 return self._Entity.ThermalHelp 1531 1532 @property 1533 def ThermalHurt(self) -> float: 1534 return self._Entity.ThermalHurt 1535 1536 @property 1537 def FatigueKTSkin(self) -> float: 1538 return self._Entity.FatigueKTSkin 1539 1540 @property 1541 def FatigueKTStiff(self) -> float: 1542 return self._Entity.FatigueKTStiff 1543 1544 @property 1545 def XSpan(self) -> float: 1546 return self._Entity.XSpan 1547 1548 @property 1549 def EARequired(self) -> float: 1550 return self._Entity.EARequired 1551 1552 @property 1553 def EI1Required(self) -> float: 1554 return self._Entity.EI1Required 1555 1556 @property 1557 def EI2Required(self) -> float: 1558 return self._Entity.EI2Required 1559 1560 @property 1561 def GJRequired(self) -> float: 1562 return self._Entity.GJRequired 1563 1564 @property 1565 def EAAuto(self) -> float: 1566 return self._Entity.EAAuto 1567 1568 @property 1569 def EI1Auto(self) -> float: 1570 return self._Entity.EI1Auto 1571 1572 @property 1573 def EI2Auto(self) -> float: 1574 return self._Entity.EI2Auto 1575 1576 @property 1577 def GJAuto(self) -> float: 1578 return self._Entity.GJAuto 1579 1580 @property 1581 def Ex(self) -> float: 1582 return self._Entity.Ex 1583 1584 @property 1585 def Dmid(self) -> float: 1586 return self._Entity.Dmid 1587 1588 @NonOptimumFactor.setter 1589 def NonOptimumFactor(self, value: float) -> None: 1590 self._Entity.NonOptimumFactor = value 1591 1592 @AddedWeight.setter 1593 def AddedWeight(self, value: float) -> None: 1594 self._Entity.AddedWeight = value 1595 1596 @SuperimposePanel.setter 1597 def SuperimposePanel(self, value: bool) -> None: 1598 self._Entity.SuperimposePanel = value 1599 1600 @BucklingImperfection.setter 1601 def BucklingImperfection(self, value: float) -> None: 1602 self._Entity.BucklingImperfection = value 1603 1604 @IsBeamColumn.setter 1605 def IsBeamColumn(self, value: bool) -> None: 1606 self._Entity.IsBeamColumn = value 1607 1608 @SuperimposeBoundaryCondition.setter 1609 def SuperimposeBoundaryCondition(self, value: int) -> None: 1610 self._Entity.SuperimposeBoundaryCondition = value 1611 1612 @IsZeroOutFeaMoments.setter 1613 def IsZeroOutFeaMoments(self, value: bool) -> None: 1614 self._Entity.IsZeroOutFeaMoments = value 1615 1616 @IsZeroOutFeaTransverseShears.setter 1617 def IsZeroOutFeaTransverseShears(self, value: bool) -> None: 1618 self._Entity.IsZeroOutFeaTransverseShears = value 1619 1620 @MechanicalLimit.setter 1621 def MechanicalLimit(self, value: float) -> None: 1622 self._Entity.MechanicalLimit = value 1623 1624 @MechanicalUltimate.setter 1625 def MechanicalUltimate(self, value: float) -> None: 1626 self._Entity.MechanicalUltimate = value 1627 1628 @ThermalHelp.setter 1629 def ThermalHelp(self, value: float) -> None: 1630 self._Entity.ThermalHelp = value 1631 1632 @ThermalHurt.setter 1633 def ThermalHurt(self, value: float) -> None: 1634 self._Entity.ThermalHurt = value 1635 1636 @FatigueKTSkin.setter 1637 def FatigueKTSkin(self, value: float) -> None: 1638 self._Entity.FatigueKTSkin = value 1639 1640 @FatigueKTStiff.setter 1641 def FatigueKTStiff(self, value: float) -> None: 1642 self._Entity.FatigueKTStiff = value 1643 1644 @XSpan.setter 1645 def XSpan(self, value: float) -> None: 1646 self._Entity.XSpan = value 1647 1648 @EARequired.setter 1649 def EARequired(self, value: float) -> None: 1650 self._Entity.EARequired = value 1651 1652 @EI1Required.setter 1653 def EI1Required(self, value: float) -> None: 1654 self._Entity.EI1Required = value 1655 1656 @EI2Required.setter 1657 def EI2Required(self, value: float) -> None: 1658 self._Entity.EI2Required = value 1659 1660 @GJRequired.setter 1661 def GJRequired(self, value: float) -> None: 1662 self._Entity.GJRequired = value 1663 1664 @Ex.setter 1665 def Ex(self, value: float) -> None: 1666 self._Entity.Ex = value 1667 1668 @Dmid.setter 1669 def Dmid(self, value: float) -> None: 1670 self._Entity.Dmid = value 1671 1672 def GetObjectName(self, objectId: types.FamilyObjectUID) -> str: 1673 return self._Entity.GetObjectName(_types.FamilyObjectUID(objectId.value)) 1674 1675 def GetConceptName(self) -> str: 1676 return self._Entity.GetConceptName() 1677 1678 def GetZoneDesignResults(self, solutionId: int = 1) -> ZoneDesignResultCol: 1679 return ZoneDesignResultCol(self._Entity.GetZoneDesignResults(solutionId)) 1680 1681 def RenumberZone(self, newId: int) -> ZoneIdUpdateStatus: 1682 return ZoneIdUpdateStatus[self._Entity.RenumberZone(newId).ToString()] 1683 1684 def GetAllResults(self) -> AnalysisResultCol: 1685 return AnalysisResultCol(self._Entity.GetAllResults()) 1686 1687 def GetControllingResult(self) -> AnalysisResult: 1688 result = self._Entity.GetControllingResult() 1689 thisClass = type(result).__name__ 1690 givenClass = AnalysisResult 1691 for subclass in AnalysisResult.__subclasses__(): 1692 if subclass.__name__ == thisClass: 1693 givenClass = subclass 1694 return givenClass(result) 1695 1696 def GetMinimumMargin(self) -> Margin: 1697 return Margin(self._Entity.GetMinimumMargin())
Abstract for regular Zones and Panel Segments.
1687 def GetControllingResult(self) -> AnalysisResult: 1688 result = self._Entity.GetControllingResult() 1689 thisClass = type(result).__name__ 1690 givenClass = AnalysisResult 1691 for subclass in AnalysisResult.__subclasses__(): 1692 if subclass.__name__ == thisClass: 1693 givenClass = subclass 1694 return givenClass(result)
1700class ElementCol(IdEntityCol[Element]): 1701 def __init__(self, elementCol: _api.ElementCol): 1702 self._Entity = elementCol 1703 self._CollectedClass = Element 1704 1705 @property 1706 def ElementColList(self) -> tuple[Element]: 1707 return tuple([Element(elementCol) for elementCol in self._Entity]) 1708 1709 def __getitem__(self, index: int): 1710 return self.ElementColList[index] 1711 1712 def __iter__(self): 1713 yield from self.ElementColList 1714 1715 def __len__(self): 1716 return len(self.ElementColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
1719class PanelSegment(ZoneBase): 1720 def __init__(self, panelSegment: _api.PanelSegment): 1721 self._Entity = panelSegment 1722 1723 @property 1724 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1725 elementsByObjectOrSkinDict = {} 1726 for kvp in self._Entity.ElementsByObjectOrSkin: 1727 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1728 1729 return elementsByObjectOrSkinDict 1730 1731 @property 1732 def Skins(self) -> tuple[types.DiscreteDefinitionType]: 1733 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Skins]) 1734 1735 @property 1736 def Objects(self) -> tuple[types.DiscreteDefinitionType]: 1737 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Objects]) 1738 1739 @property 1740 def DiscreteTechnique(self) -> types.DiscreteTechnique: 1741 return types.DiscreteTechnique[self._Entity.DiscreteTechnique.ToString()] 1742 1743 @property 1744 def LeftSkinZoneId(self) -> int: 1745 return self._Entity.LeftSkinZoneId 1746 1747 @property 1748 def RightSkinZoneId(self) -> int: 1749 return self._Entity.RightSkinZoneId 1750 1751 def GetElements(self, discreteDefinitionType: types.DiscreteDefinitionType) -> ElementCol: 1752 return ElementCol(self._Entity.GetElements(_types.DiscreteDefinitionType(discreteDefinitionType.value))) 1753 1754 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1755 elementIdsList = MakeCSharpIntList(elementIds) 1756 elementIdsEnumerable = IEnumerable(elementIdsList) 1757 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable)
Abstract for regular Zones and Panel Segments.
1723 @property 1724 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1725 elementsByObjectOrSkinDict = {} 1726 for kvp in self._Entity.ElementsByObjectOrSkin: 1727 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1728 1729 return elementsByObjectOrSkinDict
1754 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1755 elementIdsList = MakeCSharpIntList(elementIds) 1756 elementIdsEnumerable = IEnumerable(elementIdsList) 1757 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable)
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
1760class Zone(ZoneBase): 1761 ''' 1762 Abstract for regular Zones (not Panel Segments). 1763 ''' 1764 def __init__(self, zone: _api.Zone): 1765 self._Entity = zone 1766 1767 @property 1768 def Elements(self) -> ElementCol: 1769 result = self._Entity.Elements 1770 return ElementCol(result) if result is not None else None 1771 1772 def AddElements(self, elementIds: tuple[int]) -> None: 1773 elementIdsList = MakeCSharpIntList(elementIds) 1774 elementIdsEnumerable = IEnumerable(elementIdsList) 1775 return self._Entity.AddElements(elementIdsEnumerable)
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
1778class EntityWithAssignablePropertiesCol(IdNameEntityCol, Generic[T]): 1779 def __init__(self, entityWithAssignablePropertiesCol: _api.EntityWithAssignablePropertiesCol): 1780 self._Entity = entityWithAssignablePropertiesCol 1781 self._CollectedClass = T 1782 1783 @property 1784 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1785 if self._Entity.Count() <= 0: 1786 return () 1787 thisClass = type(self._Entity._items[0]).__name__ 1788 givenClass = T 1789 for subclass in T.__subclasses__(): 1790 if subclass.__name__ == thisClass: 1791 givenClass = subclass 1792 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity]) 1793 1794 def AssignPropertyToAll(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1795 return PropertyAssignmentStatus[self._Entity.AssignPropertyToAll(property._Entity).ToString()] 1796 1797 @overload 1798 def Get(self, name: str) -> T: ... 1799 1800 @overload 1801 def Get(self, id: int) -> T: ... 1802 1803 def Get(self, item1 = None) -> T: 1804 if isinstance(item1, str): 1805 return super().Get(item1) 1806 1807 if isinstance(item1, int): 1808 return super().Get(item1) 1809 1810 return self._Entity.Get(item1) 1811 1812 def __getitem__(self, index: int): 1813 return self.EntityWithAssignablePropertiesColList[index] 1814 1815 def __iter__(self): 1816 yield from self.EntityWithAssignablePropertiesColList 1817 1818 def __len__(self): 1819 return len(self.EntityWithAssignablePropertiesColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1783 @property 1784 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1785 if self._Entity.Count() <= 0: 1786 return () 1787 thisClass = type(self._Entity._items[0]).__name__ 1788 givenClass = T 1789 for subclass in T.__subclasses__(): 1790 if subclass.__name__ == thisClass: 1791 givenClass = subclass 1792 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity])
Inherited Members
1822class JointCol(EntityWithAssignablePropertiesCol[Joint]): 1823 def __init__(self, jointCol: _api.JointCol): 1824 self._Entity = jointCol 1825 self._CollectedClass = Joint 1826 1827 @property 1828 def JointColList(self) -> tuple[Joint]: 1829 return tuple([Joint(jointCol) for jointCol in self._Entity]) 1830 1831 @overload 1832 def Get(self, name: str) -> Joint: ... 1833 1834 @overload 1835 def Get(self, id: int) -> Joint: ... 1836 1837 def Get(self, item1 = None) -> Joint: 1838 if isinstance(item1, str): 1839 return Joint(super().Get(item1)) 1840 1841 if isinstance(item1, int): 1842 return Joint(super().Get(item1)) 1843 1844 return self._Entity.Get(item1) 1845 1846 def __getitem__(self, index: int): 1847 return self.JointColList[index] 1848 1849 def __iter__(self): 1850 yield from self.JointColList 1851 1852 def __len__(self): 1853 return len(self.JointColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1856class PanelSegmentCol(EntityWithAssignablePropertiesCol[PanelSegment]): 1857 def __init__(self, panelSegmentCol: _api.PanelSegmentCol): 1858 self._Entity = panelSegmentCol 1859 self._CollectedClass = PanelSegment 1860 1861 @property 1862 def PanelSegmentColList(self) -> tuple[PanelSegment]: 1863 return tuple([PanelSegment(panelSegmentCol) for panelSegmentCol in self._Entity]) 1864 1865 @overload 1866 def Get(self, name: str) -> PanelSegment: ... 1867 1868 @overload 1869 def Get(self, id: int) -> PanelSegment: ... 1870 1871 def Get(self, item1 = None) -> PanelSegment: 1872 if isinstance(item1, str): 1873 return PanelSegment(super().Get(item1)) 1874 1875 if isinstance(item1, int): 1876 return PanelSegment(super().Get(item1)) 1877 1878 return self._Entity.Get(item1) 1879 1880 def __getitem__(self, index: int): 1881 return self.PanelSegmentColList[index] 1882 1883 def __iter__(self): 1884 yield from self.PanelSegmentColList 1885 1886 def __len__(self): 1887 return len(self.PanelSegmentColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1890class ZoneCol(EntityWithAssignablePropertiesCol[Zone]): 1891 def __init__(self, zoneCol: _api.ZoneCol): 1892 self._Entity = zoneCol 1893 self._CollectedClass = Zone 1894 1895 @property 1896 def ZoneColList(self) -> tuple[Zone]: 1897 return tuple([Zone(zoneCol) for zoneCol in self._Entity]) 1898 1899 @overload 1900 def Get(self, name: str) -> Zone: ... 1901 1902 @overload 1903 def Get(self, id: int) -> Zone: ... 1904 1905 def Get(self, item1 = None) -> Zone: 1906 if isinstance(item1, str): 1907 return Zone(super().Get(item1)) 1908 1909 if isinstance(item1, int): 1910 return Zone(super().Get(item1)) 1911 1912 return self._Entity.Get(item1) 1913 1914 def __getitem__(self, index: int): 1915 return self.ZoneColList[index] 1916 1917 def __iter__(self): 1918 yield from self.ZoneColList 1919 1920 def __len__(self): 1921 return len(self.ZoneColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1924class ZoneJointContainer(IdNameEntityRenameable): 1925 ''' 1926 Represents an entity that contains a collection of Zones and Joints. 1927 ''' 1928 def __init__(self, zoneJointContainer: _api.ZoneJointContainer): 1929 self._Entity = zoneJointContainer 1930 1931 @property 1932 def Centroid(self) -> Centroid: 1933 result = self._Entity.Centroid 1934 return Centroid(result) if result is not None else None 1935 1936 @property 1937 def Joints(self) -> JointCol: 1938 result = self._Entity.Joints 1939 return JointCol(result) if result is not None else None 1940 1941 @property 1942 def PanelSegments(self) -> PanelSegmentCol: 1943 result = self._Entity.PanelSegments 1944 return PanelSegmentCol(result) if result is not None else None 1945 1946 @property 1947 def TotalBeamLength(self) -> float: 1948 return self._Entity.TotalBeamLength 1949 1950 @property 1951 def TotalPanelArea(self) -> float: 1952 return self._Entity.TotalPanelArea 1953 1954 @property 1955 def TotalZoneWeight(self) -> float: 1956 return self._Entity.TotalZoneWeight 1957 1958 @property 1959 def Zones(self) -> ZoneCol: 1960 result = self._Entity.Zones 1961 return ZoneCol(result) if result is not None else None 1962 1963 @overload 1964 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 1965 1966 @overload 1967 @abstractmethod 1968 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 1969 1970 @overload 1971 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 1972 1973 @overload 1974 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 1975 1976 @overload 1977 @abstractmethod 1978 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 1979 1980 @overload 1981 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 1982 1983 @overload 1984 def AddZone(self, id: int) -> CollectionModificationStatus: ... 1985 1986 @overload 1987 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 1988 1989 @overload 1990 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 1991 1992 @overload 1993 @abstractmethod 1994 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 1995 1996 @overload 1997 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 1998 1999 @overload 2000 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 2001 2002 @overload 2003 @abstractmethod 2004 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 2005 2006 @overload 2007 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 2008 2009 @overload 2010 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 2011 2012 @overload 2013 @abstractmethod 2014 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2015 2016 @overload 2017 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 2018 2019 @overload 2020 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2021 2022 @overload 2023 @abstractmethod 2024 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 2025 2026 @overload 2027 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 2028 2029 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2030 if isinstance(item1, int): 2031 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2032 2033 if isinstance(item1, Joint): 2034 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2035 2036 return self._Entity.AddJoint(item1) 2037 2038 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2039 if isinstance(item1, int): 2040 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2041 2042 if isinstance(item1, Joint): 2043 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2044 2045 return self._Entity.RemoveJoint(item1) 2046 2047 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2048 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2049 jointIdsList = MakeCSharpIntList(item1) 2050 jointIdsEnumerable = IEnumerable(jointIdsList) 2051 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2052 2053 if isinstance(item1, JointCol): 2054 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2055 2056 return self._Entity.RemoveJoints(item1) 2057 2058 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2059 if isinstance(item1, int): 2060 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2061 2062 if isinstance(item1, Zone): 2063 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2064 2065 return self._Entity.AddZone(item1) 2066 2067 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2068 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2069 idsList = MakeCSharpIntList(item1) 2070 idsEnumerable = IEnumerable(idsList) 2071 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2072 2073 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 2074 zonesList = List[_api.Zone]() 2075 if item1 is not None: 2076 for thing in item1: 2077 if thing is not None: 2078 zonesList.Add(thing._Entity) 2079 zonesEnumerable = IEnumerable(zonesList) 2080 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2081 2082 return self._Entity.AddZones(item1) 2083 2084 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2085 if isinstance(item1, int): 2086 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2087 2088 if isinstance(item1, Zone): 2089 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2090 2091 return self._Entity.RemoveZone(item1) 2092 2093 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2094 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2095 zoneIdsList = MakeCSharpIntList(item1) 2096 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2097 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2098 2099 if isinstance(item1, ZoneCol): 2100 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2101 2102 return self._Entity.RemoveZones(item1) 2103 2104 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2105 if isinstance(item1, int): 2106 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2107 2108 if isinstance(item1, PanelSegment): 2109 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2110 2111 return self._Entity.AddPanelSegment(item1) 2112 2113 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2114 if isinstance(item1, int): 2115 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2116 2117 if isinstance(item1, PanelSegment): 2118 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2119 2120 return self._Entity.RemovePanelSegment(item1) 2121 2122 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2123 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2124 segmentIdsList = MakeCSharpIntList(item1) 2125 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2126 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2127 2128 if isinstance(item1, PanelSegmentCol): 2129 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2130 2131 return self._Entity.RemovePanelSegments(item1)
Represents an entity that contains a collection of Zones and Joints.
2029 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2030 if isinstance(item1, int): 2031 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2032 2033 if isinstance(item1, Joint): 2034 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2035 2036 return self._Entity.AddJoint(item1)
2038 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2039 if isinstance(item1, int): 2040 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2041 2042 if isinstance(item1, Joint): 2043 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2044 2045 return self._Entity.RemoveJoint(item1)
2047 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2048 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2049 jointIdsList = MakeCSharpIntList(item1) 2050 jointIdsEnumerable = IEnumerable(jointIdsList) 2051 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2052 2053 if isinstance(item1, JointCol): 2054 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2055 2056 return self._Entity.RemoveJoints(item1)
2058 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2059 if isinstance(item1, int): 2060 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2061 2062 if isinstance(item1, Zone): 2063 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2064 2065 return self._Entity.AddZone(item1)
2067 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2068 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2069 idsList = MakeCSharpIntList(item1) 2070 idsEnumerable = IEnumerable(idsList) 2071 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2072 2073 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 2074 zonesList = List[_api.Zone]() 2075 if item1 is not None: 2076 for thing in item1: 2077 if thing is not None: 2078 zonesList.Add(thing._Entity) 2079 zonesEnumerable = IEnumerable(zonesList) 2080 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2081 2082 return self._Entity.AddZones(item1)
2084 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2085 if isinstance(item1, int): 2086 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2087 2088 if isinstance(item1, Zone): 2089 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2090 2091 return self._Entity.RemoveZone(item1)
2093 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2094 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2095 zoneIdsList = MakeCSharpIntList(item1) 2096 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2097 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2098 2099 if isinstance(item1, ZoneCol): 2100 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2101 2102 return self._Entity.RemoveZones(item1)
2104 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2105 if isinstance(item1, int): 2106 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2107 2108 if isinstance(item1, PanelSegment): 2109 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2110 2111 return self._Entity.AddPanelSegment(item1)
2113 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2114 if isinstance(item1, int): 2115 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2116 2117 if isinstance(item1, PanelSegment): 2118 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2119 2120 return self._Entity.RemovePanelSegment(item1)
2122 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2123 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 2124 segmentIdsList = MakeCSharpIntList(item1) 2125 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2126 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2127 2128 if isinstance(item1, PanelSegmentCol): 2129 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2130 2131 return self._Entity.RemovePanelSegments(item1)
Inherited Members
2134class AutomatedConstraint(IdNameEntityRenameable): 2135 def __init__(self, automatedConstraint: _api.AutomatedConstraint): 2136 self._Entity = automatedConstraint 2137 2138 @property 2139 def ConstraintType(self) -> types.StiffnessCriteriaType: 2140 return types.StiffnessCriteriaType[self._Entity.ConstraintType.ToString()] 2141 2142 @property 2143 def Set(self) -> str: 2144 return self._Entity.Set 2145 2146 @property 2147 def DesignLoadCases(self) -> list[str]: 2148 return [string for string in self._Entity.DesignLoadCases] 2149 2150 @Set.setter 2151 def Set(self, value: str) -> None: 2152 self._Entity.Set = value 2153 2154 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2155 designLoadCasesList = List[str]() 2156 if designLoadCases is not None: 2157 for thing in designLoadCases: 2158 if thing is not None: 2159 designLoadCasesList.Add(thing) 2160 return self._Entity.AddDesignLoadCases(designLoadCasesList) 2161 2162 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2163 designLoadCasesList = List[str]() 2164 if designLoadCases is not None: 2165 for thing in designLoadCases: 2166 if thing is not None: 2167 designLoadCasesList.Add(thing) 2168 return self._Entity.RemoveDesignLoadCases(designLoadCasesList)
Represents an entity with an ID and Name.
2154 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2155 designLoadCasesList = List[str]() 2156 if designLoadCases is not None: 2157 for thing in designLoadCases: 2158 if thing is not None: 2159 designLoadCasesList.Add(thing) 2160 return self._Entity.AddDesignLoadCases(designLoadCasesList)
2162 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2163 designLoadCasesList = List[str]() 2164 if designLoadCases is not None: 2165 for thing in designLoadCases: 2166 if thing is not None: 2167 designLoadCasesList.Add(thing) 2168 return self._Entity.RemoveDesignLoadCases(designLoadCasesList)
Inherited Members
2171class ModalAutomatedConstraint(AutomatedConstraint): 2172 def __init__(self, modalAutomatedConstraint: _api.ModalAutomatedConstraint): 2173 self._Entity = modalAutomatedConstraint 2174 2175 @property 2176 def Eigenvalue(self) -> float: 2177 return self._Entity.Eigenvalue 2178 2179 @Eigenvalue.setter 2180 def Eigenvalue(self, value: float) -> None: 2181 self._Entity.Eigenvalue = value
Represents an entity with an ID and Name.
2184class BucklingAutomatedConstraint(ModalAutomatedConstraint): 2185 def __init__(self, bucklingAutomatedConstraint: _api.BucklingAutomatedConstraint): 2186 self._Entity = bucklingAutomatedConstraint
Represents an entity with an ID and Name.
2189class StaticAutomatedConstraint(AutomatedConstraint): 2190 def __init__(self, staticAutomatedConstraint: _api.StaticAutomatedConstraint): 2191 self._Entity = staticAutomatedConstraint 2192 2193 @property 2194 def VirtualDesignLoad(self) -> str: 2195 return self._Entity.VirtualDesignLoad 2196 2197 @property 2198 def GridId(self) -> int: 2199 return self._Entity.GridId 2200 2201 @property 2202 def Orientation(self) -> types.DisplacementShapeType: 2203 return types.DisplacementShapeType[self._Entity.Orientation.ToString()] 2204 2205 @property 2206 def HasVector(self) -> bool: 2207 return self._Entity.HasVector 2208 2209 @property 2210 def X(self) -> float: 2211 return self._Entity.X 2212 2213 @property 2214 def Y(self) -> float: 2215 return self._Entity.Y 2216 2217 @property 2218 def Z(self) -> float: 2219 return self._Entity.Z 2220 2221 @VirtualDesignLoad.setter 2222 def VirtualDesignLoad(self, value: str) -> None: 2223 self._Entity.VirtualDesignLoad = value 2224 2225 @GridId.setter 2226 def GridId(self, value: int) -> None: 2227 self._Entity.GridId = value 2228 2229 @Orientation.setter 2230 def Orientation(self, value: types.DisplacementShapeType) -> None: 2231 self._Entity.Orientation = _types.DisplacementShapeType(value.value) 2232 2233 @X.setter 2234 def X(self, value: float) -> None: 2235 self._Entity.X = value 2236 2237 @Y.setter 2238 def Y(self, value: float) -> None: 2239 self._Entity.Y = value 2240 2241 @Z.setter 2242 def Z(self, value: float) -> None: 2243 self._Entity.Z = value
Represents an entity with an ID and Name.
2246class DisplacementAutomatedConstraint(StaticAutomatedConstraint): 2247 def __init__(self, displacementAutomatedConstraint: _api.DisplacementAutomatedConstraint): 2248 self._Entity = displacementAutomatedConstraint 2249 2250 @property 2251 def Limit(self) -> float: 2252 return self._Entity.Limit 2253 2254 @Limit.setter 2255 def Limit(self, value: float) -> None: 2256 self._Entity.Limit = value
Represents an entity with an ID and Name.
2259class FrequencyAutomatedConstraint(ModalAutomatedConstraint): 2260 def __init__(self, frequencyAutomatedConstraint: _api.FrequencyAutomatedConstraint): 2261 self._Entity = frequencyAutomatedConstraint
Represents an entity with an ID and Name.
2264class RotationAutomatedConstraint(StaticAutomatedConstraint): 2265 def __init__(self, rotationAutomatedConstraint: _api.RotationAutomatedConstraint): 2266 self._Entity = rotationAutomatedConstraint 2267 2268 @property 2269 def Limit(self) -> float: 2270 return self._Entity.Limit 2271 2272 @Limit.setter 2273 def Limit(self, value: float) -> None: 2274 self._Entity.Limit = value
Represents an entity with an ID and Name.
2277class ManualConstraint(IdNameEntityRenameable): 2278 def __init__(self, manualConstraint: _api.ManualConstraint): 2279 self._Entity = manualConstraint 2280 2281 @property 2282 def ConstraintType(self) -> types.ConstraintType: 2283 return types.ConstraintType[self._Entity.ConstraintType.ToString()] 2284 2285 @property 2286 def Set(self) -> str: 2287 return self._Entity.Set 2288 2289 @property 2290 def Limit(self) -> float: 2291 return self._Entity.Limit 2292 2293 @property 2294 def A11(self) -> bool: 2295 return self._Entity.A11 2296 2297 @property 2298 def A22(self) -> bool: 2299 return self._Entity.A22 2300 2301 @property 2302 def A33(self) -> bool: 2303 return self._Entity.A33 2304 2305 @property 2306 def D11(self) -> bool: 2307 return self._Entity.D11 2308 2309 @property 2310 def D22(self) -> bool: 2311 return self._Entity.D22 2312 2313 @property 2314 def D33(self) -> bool: 2315 return self._Entity.D33 2316 2317 @property 2318 def EA(self) -> bool: 2319 return self._Entity.EA 2320 2321 @property 2322 def EI1(self) -> bool: 2323 return self._Entity.EI1 2324 2325 @property 2326 def EI2(self) -> bool: 2327 return self._Entity.EI2 2328 2329 @property 2330 def GJ(self) -> bool: 2331 return self._Entity.GJ 2332 2333 @property 2334 def IsActive(self) -> bool: 2335 return self._Entity.IsActive 2336 2337 @Set.setter 2338 def Set(self, value: str) -> None: 2339 self._Entity.Set = value 2340 2341 @Limit.setter 2342 def Limit(self, value: float) -> None: 2343 self._Entity.Limit = value 2344 2345 @A11.setter 2346 def A11(self, value: bool) -> None: 2347 self._Entity.A11 = value 2348 2349 @A22.setter 2350 def A22(self, value: bool) -> None: 2351 self._Entity.A22 = value 2352 2353 @A33.setter 2354 def A33(self, value: bool) -> None: 2355 self._Entity.A33 = value 2356 2357 @D11.setter 2358 def D11(self, value: bool) -> None: 2359 self._Entity.D11 = value 2360 2361 @D22.setter 2362 def D22(self, value: bool) -> None: 2363 self._Entity.D22 = value 2364 2365 @D33.setter 2366 def D33(self, value: bool) -> None: 2367 self._Entity.D33 = value 2368 2369 @EA.setter 2370 def EA(self, value: bool) -> None: 2371 self._Entity.EA = value 2372 2373 @EI1.setter 2374 def EI1(self, value: bool) -> None: 2375 self._Entity.EI1 = value 2376 2377 @EI2.setter 2378 def EI2(self, value: bool) -> None: 2379 self._Entity.EI2 = value 2380 2381 @GJ.setter 2382 def GJ(self, value: bool) -> None: 2383 self._Entity.GJ = value 2384 2385 @IsActive.setter 2386 def IsActive(self, value: bool) -> None: 2387 self._Entity.IsActive = value
Represents an entity with an ID and Name.
Inherited Members
2390class ManualConstraintWithDesignLoad(ManualConstraint): 2391 def __init__(self, manualConstraintWithDesignLoad: _api.ManualConstraintWithDesignLoad): 2392 self._Entity = manualConstraintWithDesignLoad 2393 2394 @property 2395 def UseAllDesignLoads(self) -> bool: 2396 return self._Entity.UseAllDesignLoads 2397 2398 @property 2399 def DesignLoadCase(self) -> str: 2400 return self._Entity.DesignLoadCase 2401 2402 @UseAllDesignLoads.setter 2403 def UseAllDesignLoads(self, value: bool) -> None: 2404 self._Entity.UseAllDesignLoads = value 2405 2406 @DesignLoadCase.setter 2407 def DesignLoadCase(self, value: str) -> None: 2408 self._Entity.DesignLoadCase = value
Represents an entity with an ID and Name.
2411class BucklingManualConstraint(ManualConstraintWithDesignLoad): 2412 def __init__(self, bucklingManualConstraint: _api.BucklingManualConstraint): 2413 self._Entity = bucklingManualConstraint
Represents an entity with an ID and Name.
2416class DisplacementManualConstraint(ManualConstraintWithDesignLoad): 2417 def __init__(self, displacementManualConstraint: _api.DisplacementManualConstraint): 2418 self._Entity = displacementManualConstraint 2419 2420 @property 2421 def DOF(self) -> types.DegreeOfFreedom: 2422 return types.DegreeOfFreedom[self._Entity.DOF.ToString()] 2423 2424 @property 2425 def Nodes(self) -> list[int]: 2426 return [int32 for int32 in self._Entity.Nodes] 2427 2428 @property 2429 def RefNodes(self) -> list[int]: 2430 return [int32 for int32 in self._Entity.RefNodes] 2431 2432 @DOF.setter 2433 def DOF(self, value: types.DegreeOfFreedom) -> None: 2434 self._Entity.DOF = _types.DegreeOfFreedom(value.value) 2435 2436 def AddNodes(self, ids: list[int]) -> None: 2437 idsList = MakeCSharpIntList(ids) 2438 return self._Entity.AddNodes(idsList) 2439 2440 def RemoveNodes(self, ids: list[int]) -> None: 2441 idsList = MakeCSharpIntList(ids) 2442 return self._Entity.RemoveNodes(idsList) 2443 2444 def AddRefNodes(self, ids: list[int]) -> None: 2445 idsList = MakeCSharpIntList(ids) 2446 return self._Entity.AddRefNodes(idsList) 2447 2448 def RemoveRefNodes(self, ids: list[int]) -> None: 2449 idsList = MakeCSharpIntList(ids) 2450 return self._Entity.RemoveRefNodes(idsList)
Represents an entity with an ID and Name.
2453class FrequencyManualConstraint(ManualConstraintWithDesignLoad): 2454 def __init__(self, frequencyManualConstraint: _api.FrequencyManualConstraint): 2455 self._Entity = frequencyManualConstraint
Represents an entity with an ID and Name.
2458class StaticMomentManualConstraint(ManualConstraint): 2459 def __init__(self, staticMomentManualConstraint: _api.StaticMomentManualConstraint): 2460 self._Entity = staticMomentManualConstraint
Represents an entity with an ID and Name.
2463class AutomatedConstraintCol(IdNameEntityCol[AutomatedConstraint]): 2464 def __init__(self, automatedConstraintCol: _api.AutomatedConstraintCol): 2465 self._Entity = automatedConstraintCol 2466 self._CollectedClass = AutomatedConstraint 2467 2468 @property 2469 def AutomatedConstraintColList(self) -> tuple[AutomatedConstraint]: 2470 return tuple([AutomatedConstraint(automatedConstraintCol) for automatedConstraintCol in self._Entity]) 2471 2472 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2473 designLoadsList = List[str]() 2474 if designLoads is not None: 2475 for thing in designLoads: 2476 if thing is not None: 2477 designLoadsList.Add(thing) 2478 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name)) 2479 2480 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2481 designLoadsList = List[str]() 2482 if designLoads is not None: 2483 for thing in designLoads: 2484 if thing is not None: 2485 designLoadsList.Add(thing) 2486 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name)) 2487 2488 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2489 designLoadsList = List[str]() 2490 if designLoads is not None: 2491 for thing in designLoads: 2492 if thing is not None: 2493 designLoadsList.Add(thing) 2494 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name)) 2495 2496 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2497 designLoadsList = List[str]() 2498 if designLoads is not None: 2499 for thing in designLoads: 2500 if thing is not None: 2501 designLoadsList.Add(thing) 2502 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name)) 2503 2504 @overload 2505 def Delete(self, id: int) -> bool: ... 2506 2507 @overload 2508 def Delete(self, name: str) -> bool: ... 2509 2510 @overload 2511 def GetBuckling(self, id: int) -> BucklingAutomatedConstraint: ... 2512 2513 @overload 2514 def GetBuckling(self, name: str) -> BucklingAutomatedConstraint: ... 2515 2516 @overload 2517 def GetFrequency(self, id: int) -> FrequencyAutomatedConstraint: ... 2518 2519 @overload 2520 def GetFrequency(self, name: str) -> FrequencyAutomatedConstraint: ... 2521 2522 @overload 2523 def GetRotation(self, id: int) -> RotationAutomatedConstraint: ... 2524 2525 @overload 2526 def GetRotation(self, name: str) -> RotationAutomatedConstraint: ... 2527 2528 @overload 2529 def GetDisplacement(self, id: int) -> DisplacementAutomatedConstraint: ... 2530 2531 @overload 2532 def GetDisplacement(self, name: str) -> DisplacementAutomatedConstraint: ... 2533 2534 @overload 2535 def Get(self, name: str) -> AutomatedConstraint: ... 2536 2537 @overload 2538 def Get(self, id: int) -> AutomatedConstraint: ... 2539 2540 def Delete(self, item1 = None) -> bool: 2541 if isinstance(item1, int): 2542 return self._Entity.Delete(item1) 2543 2544 if isinstance(item1, str): 2545 return self._Entity.Delete(item1) 2546 2547 return self._Entity.Delete(item1) 2548 2549 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2550 if isinstance(item1, int): 2551 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2552 2553 if isinstance(item1, str): 2554 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2555 2556 return self._Entity.GetBuckling(item1) 2557 2558 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2559 if isinstance(item1, int): 2560 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2561 2562 if isinstance(item1, str): 2563 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2564 2565 return self._Entity.GetFrequency(item1) 2566 2567 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2568 if isinstance(item1, int): 2569 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2570 2571 if isinstance(item1, str): 2572 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2573 2574 return self._Entity.GetRotation(item1) 2575 2576 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2577 if isinstance(item1, int): 2578 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2579 2580 if isinstance(item1, str): 2581 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2582 2583 return self._Entity.GetDisplacement(item1) 2584 2585 def Get(self, item1 = None) -> AutomatedConstraint: 2586 if isinstance(item1, str): 2587 return AutomatedConstraint(super().Get(item1)) 2588 2589 if isinstance(item1, int): 2590 return AutomatedConstraint(super().Get(item1)) 2591 2592 return self._Entity.Get(item1) 2593 2594 def __getitem__(self, index: int): 2595 return self.AutomatedConstraintColList[index] 2596 2597 def __iter__(self): 2598 yield from self.AutomatedConstraintColList 2599 2600 def __len__(self): 2601 return len(self.AutomatedConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
2472 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2473 designLoadsList = List[str]() 2474 if designLoads is not None: 2475 for thing in designLoads: 2476 if thing is not None: 2477 designLoadsList.Add(thing) 2478 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name))
2480 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2481 designLoadsList = List[str]() 2482 if designLoads is not None: 2483 for thing in designLoads: 2484 if thing is not None: 2485 designLoadsList.Add(thing) 2486 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name))
2488 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2489 designLoadsList = List[str]() 2490 if designLoads is not None: 2491 for thing in designLoads: 2492 if thing is not None: 2493 designLoadsList.Add(thing) 2494 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name))
2496 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2497 designLoadsList = List[str]() 2498 if designLoads is not None: 2499 for thing in designLoads: 2500 if thing is not None: 2501 designLoadsList.Add(thing) 2502 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name))
2549 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2550 if isinstance(item1, int): 2551 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2552 2553 if isinstance(item1, str): 2554 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2555 2556 return self._Entity.GetBuckling(item1)
2558 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2559 if isinstance(item1, int): 2560 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2561 2562 if isinstance(item1, str): 2563 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2564 2565 return self._Entity.GetFrequency(item1)
2567 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2568 if isinstance(item1, int): 2569 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2570 2571 if isinstance(item1, str): 2572 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2573 2574 return self._Entity.GetRotation(item1)
2576 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2577 if isinstance(item1, int): 2578 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2579 2580 if isinstance(item1, str): 2581 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2582 2583 return self._Entity.GetDisplacement(item1)
Inherited Members
2604class ManualConstraintCol(IdNameEntityCol[ManualConstraint]): 2605 def __init__(self, manualConstraintCol: _api.ManualConstraintCol): 2606 self._Entity = manualConstraintCol 2607 self._CollectedClass = ManualConstraint 2608 2609 @property 2610 def ManualConstraintColList(self) -> tuple[ManualConstraint]: 2611 return tuple([ManualConstraint(manualConstraintCol) for manualConstraintCol in self._Entity]) 2612 2613 @overload 2614 def GetFrequency(self, id: int) -> FrequencyManualConstraint: ... 2615 2616 @overload 2617 def GetFrequency(self, name: str) -> FrequencyManualConstraint: ... 2618 2619 @overload 2620 def GetBuckling(self, id: int) -> BucklingManualConstraint: ... 2621 2622 @overload 2623 def GetBuckling(self, name: str) -> BucklingManualConstraint: ... 2624 2625 @overload 2626 def GetDisplacement(self, id: int) -> DisplacementManualConstraint: ... 2627 2628 @overload 2629 def GetDisplacement(self, name: str) -> DisplacementManualConstraint: ... 2630 2631 @overload 2632 def GetStaticMoment(self, id: int) -> StaticMomentManualConstraint: ... 2633 2634 @overload 2635 def GetStaticMoment(self, name: str) -> StaticMomentManualConstraint: ... 2636 2637 def AddFrequencyConstraint(self, setName: str, limit: float, name: str = None) -> FrequencyManualConstraint: 2638 return FrequencyManualConstraint(self._Entity.AddFrequencyConstraint(setName, limit, name)) 2639 2640 def AddBucklingConstraint(self, setName: str, limit: float, name: str = None) -> BucklingManualConstraint: 2641 return BucklingManualConstraint(self._Entity.AddBucklingConstraint(setName, limit, name)) 2642 2643 def AddStaticMomentManualConstraint(self, setName: str, limit: float, name: str = None) -> StaticMomentManualConstraint: 2644 return StaticMomentManualConstraint(self._Entity.AddStaticMomentManualConstraint(setName, limit, name)) 2645 2646 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2647 gridIdsList = MakeCSharpIntList(gridIds) 2648 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name)) 2649 2650 @overload 2651 def DeleteConstraint(self, name: str) -> bool: ... 2652 2653 @overload 2654 def DeleteConstraint(self, id: int) -> bool: ... 2655 2656 @overload 2657 def Get(self, name: str) -> ManualConstraint: ... 2658 2659 @overload 2660 def Get(self, id: int) -> ManualConstraint: ... 2661 2662 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2663 if isinstance(item1, int): 2664 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2665 2666 if isinstance(item1, str): 2667 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2668 2669 return self._Entity.GetFrequency(item1) 2670 2671 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2672 if isinstance(item1, int): 2673 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2674 2675 if isinstance(item1, str): 2676 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2677 2678 return self._Entity.GetBuckling(item1) 2679 2680 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2681 if isinstance(item1, int): 2682 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2683 2684 if isinstance(item1, str): 2685 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2686 2687 return self._Entity.GetDisplacement(item1) 2688 2689 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2690 if isinstance(item1, int): 2691 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2692 2693 if isinstance(item1, str): 2694 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2695 2696 return self._Entity.GetStaticMoment(item1) 2697 2698 def DeleteConstraint(self, item1 = None) -> bool: 2699 if isinstance(item1, str): 2700 return self._Entity.DeleteConstraint(item1) 2701 2702 if isinstance(item1, int): 2703 return self._Entity.DeleteConstraint(item1) 2704 2705 return self._Entity.DeleteConstraint(item1) 2706 2707 def Get(self, item1 = None) -> ManualConstraint: 2708 if isinstance(item1, str): 2709 return ManualConstraint(super().Get(item1)) 2710 2711 if isinstance(item1, int): 2712 return ManualConstraint(super().Get(item1)) 2713 2714 return self._Entity.Get(item1) 2715 2716 def __getitem__(self, index: int): 2717 return self.ManualConstraintColList[index] 2718 2719 def __iter__(self): 2720 yield from self.ManualConstraintColList 2721 2722 def __len__(self): 2723 return len(self.ManualConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
2662 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2663 if isinstance(item1, int): 2664 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2665 2666 if isinstance(item1, str): 2667 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2668 2669 return self._Entity.GetFrequency(item1)
2671 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2672 if isinstance(item1, int): 2673 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2674 2675 if isinstance(item1, str): 2676 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2677 2678 return self._Entity.GetBuckling(item1)
2680 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2681 if isinstance(item1, int): 2682 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2683 2684 if isinstance(item1, str): 2685 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2686 2687 return self._Entity.GetDisplacement(item1)
2689 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2690 if isinstance(item1, int): 2691 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2692 2693 if isinstance(item1, str): 2694 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2695 2696 return self._Entity.GetStaticMoment(item1)
2646 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2647 gridIdsList = MakeCSharpIntList(gridIds) 2648 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name))
Inherited Members
2726class HyperFea: 2727 def __init__(self, hyperFea: _api.HyperFea): 2728 self._Entity = hyperFea 2729 2730 @property 2731 def ManualConstraints(self) -> ManualConstraintCol: 2732 result = self._Entity.ManualConstraints 2733 return ManualConstraintCol(result) if result is not None else None 2734 2735 @property 2736 def AutomatedConstraints(self) -> AutomatedConstraintCol: 2737 result = self._Entity.AutomatedConstraints 2738 return AutomatedConstraintCol(result) if result is not None else None 2739 2740 def RunIterations(self, numberOfIterations: int, startWithSizing: bool, deleteElementOptimizationPlies: bool) -> None: 2741 return self._Entity.RunIterations(numberOfIterations, startWithSizing, deleteElementOptimizationPlies) 2742 2743 def SetupSolver(self, solverPath: str, arguments: str) -> types.SimpleStatus: 2744 return types.SimpleStatus(self._Entity.SetupSolver(solverPath, arguments)) 2745 2746 def TestSolver(self) -> types.SimpleStatus: 2747 ''' 2748 Test FEA solver setup. 2749 ''' 2750 return types.SimpleStatus(self._Entity.TestSolver()) 2751 2752 def GetSolverSetup(self) -> types.HyperFeaSolver: 2753 ''' 2754 Get the current FEA solver setup. 2755 ''' 2756 return types.HyperFeaSolver(self._Entity.GetSolverSetup())
2759class FoamTemperature: 2760 ''' 2761 Foam material temperature dependent properties. 2762 ''' 2763 def __init__(self, foamTemperature: _api.FoamTemperature): 2764 self._Entity = foamTemperature 2765 2766 @property 2767 def Temperature(self) -> float: 2768 return self._Entity.Temperature 2769 2770 @property 2771 def Et(self) -> float: 2772 return self._Entity.Et 2773 2774 @property 2775 def Ec(self) -> float: 2776 return self._Entity.Ec 2777 2778 @property 2779 def G(self) -> float: 2780 return self._Entity.G 2781 2782 @property 2783 def Ef(self) -> float: 2784 return self._Entity.Ef 2785 2786 @property 2787 def Ftu(self) -> float: 2788 return self._Entity.Ftu 2789 2790 @property 2791 def Fcu(self) -> float: 2792 return self._Entity.Fcu 2793 2794 @property 2795 def Fsu(self) -> float: 2796 return self._Entity.Fsu 2797 2798 @property 2799 def Ffu(self) -> float: 2800 return self._Entity.Ffu 2801 2802 @property 2803 def K(self) -> float: 2804 return self._Entity.K 2805 2806 @property 2807 def C(self) -> float: 2808 return self._Entity.C 2809 2810 @Temperature.setter 2811 def Temperature(self, value: float) -> None: 2812 self._Entity.Temperature = value 2813 2814 @Et.setter 2815 def Et(self, value: float) -> None: 2816 self._Entity.Et = value 2817 2818 @Ec.setter 2819 def Ec(self, value: float) -> None: 2820 self._Entity.Ec = value 2821 2822 @G.setter 2823 def G(self, value: float) -> None: 2824 self._Entity.G = value 2825 2826 @Ef.setter 2827 def Ef(self, value: float) -> None: 2828 self._Entity.Ef = value 2829 2830 @Ftu.setter 2831 def Ftu(self, value: float) -> None: 2832 self._Entity.Ftu = value 2833 2834 @Fcu.setter 2835 def Fcu(self, value: float) -> None: 2836 self._Entity.Fcu = value 2837 2838 @Fsu.setter 2839 def Fsu(self, value: float) -> None: 2840 self._Entity.Fsu = value 2841 2842 @Ffu.setter 2843 def Ffu(self, value: float) -> None: 2844 self._Entity.Ffu = value 2845 2846 @K.setter 2847 def K(self, value: float) -> None: 2848 self._Entity.K = value 2849 2850 @C.setter 2851 def C(self, value: float) -> None: 2852 self._Entity.C = value
Foam material temperature dependent properties.
2855class Foam: 2856 ''' 2857 Foam material. 2858 ''' 2859 def __init__(self, foam: _api.Foam): 2860 self._Entity = foam 2861 2862 @property 2863 def MaterialFamilyName(self) -> str: 2864 return self._Entity.MaterialFamilyName 2865 2866 @property 2867 def Id(self) -> int: 2868 return self._Entity.Id 2869 2870 @property 2871 def CreationDate(self) -> DateTime: 2872 return self._Entity.CreationDate 2873 2874 @property 2875 def ModificationDate(self) -> DateTime: 2876 return self._Entity.ModificationDate 2877 2878 @property 2879 def Name(self) -> str: 2880 return self._Entity.Name 2881 2882 @property 2883 def Wet(self) -> bool: 2884 return self._Entity.Wet 2885 2886 @property 2887 def Density(self) -> float: 2888 return self._Entity.Density 2889 2890 @property 2891 def Form(self) -> str: 2892 return self._Entity.Form 2893 2894 @property 2895 def Specification(self) -> str: 2896 return self._Entity.Specification 2897 2898 @property 2899 def MaterialDescription(self) -> str: 2900 return self._Entity.MaterialDescription 2901 2902 @property 2903 def UserNote(self) -> str: 2904 return self._Entity.UserNote 2905 2906 @property 2907 def FemMaterialId(self) -> int: 2908 return self._Entity.FemMaterialId 2909 2910 @property 2911 def Cost(self) -> float: 2912 return self._Entity.Cost 2913 2914 @property 2915 def BucklingStiffnessKnockdown(self) -> float: 2916 return self._Entity.BucklingStiffnessKnockdown 2917 2918 @property 2919 def Absorption(self) -> float: 2920 return self._Entity.Absorption 2921 2922 @property 2923 def Manufacturer(self) -> str: 2924 return self._Entity.Manufacturer 2925 2926 @property 2927 def FoamTemperatureProperties(self) -> list[FoamTemperature]: 2928 return [FoamTemperature(foamTemperature) for foamTemperature in self._Entity.FoamTemperatureProperties] 2929 2930 @MaterialFamilyName.setter 2931 def MaterialFamilyName(self, value: str) -> None: 2932 self._Entity.MaterialFamilyName = value 2933 2934 @Name.setter 2935 def Name(self, value: str) -> None: 2936 self._Entity.Name = value 2937 2938 @Wet.setter 2939 def Wet(self, value: bool) -> None: 2940 self._Entity.Wet = value 2941 2942 @Density.setter 2943 def Density(self, value: float) -> None: 2944 self._Entity.Density = value 2945 2946 @Form.setter 2947 def Form(self, value: str) -> None: 2948 self._Entity.Form = value 2949 2950 @Specification.setter 2951 def Specification(self, value: str) -> None: 2952 self._Entity.Specification = value 2953 2954 @MaterialDescription.setter 2955 def MaterialDescription(self, value: str) -> None: 2956 self._Entity.MaterialDescription = value 2957 2958 @UserNote.setter 2959 def UserNote(self, value: str) -> None: 2960 self._Entity.UserNote = value 2961 2962 @FemMaterialId.setter 2963 def FemMaterialId(self, value: int) -> None: 2964 self._Entity.FemMaterialId = value 2965 2966 @Cost.setter 2967 def Cost(self, value: float) -> None: 2968 self._Entity.Cost = value 2969 2970 @BucklingStiffnessKnockdown.setter 2971 def BucklingStiffnessKnockdown(self, value: float) -> None: 2972 self._Entity.BucklingStiffnessKnockdown = value 2973 2974 @Absorption.setter 2975 def Absorption(self, value: float) -> None: 2976 self._Entity.Absorption = value 2977 2978 @Manufacturer.setter 2979 def Manufacturer(self, value: str) -> None: 2980 self._Entity.Manufacturer = value 2981 2982 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 2983 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c)) 2984 2985 def DeleteTemperatureProperty(self, temperature: float) -> bool: 2986 return self._Entity.DeleteTemperatureProperty(temperature) 2987 2988 def GetTemperature(self, lookupTemperature: float) -> FoamTemperature: 2989 return FoamTemperature(self._Entity.GetTemperature(lookupTemperature)) 2990 2991 def Save(self) -> None: 2992 ''' 2993 Save any changes to this foam material to the database. 2994 ''' 2995 return self._Entity.Save()
Foam material.
2982 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 2983 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c))
2998class HoneycombTemperature: 2999 ''' 3000 Honeycomb material temperature dependent properties. 3001 ''' 3002 def __init__(self, honeycombTemperature: _api.HoneycombTemperature): 3003 self._Entity = honeycombTemperature 3004 3005 @property 3006 def Temperature(self) -> float: 3007 return self._Entity.Temperature 3008 3009 @property 3010 def Et(self) -> float: 3011 return self._Entity.Et 3012 3013 @property 3014 def Ec(self) -> float: 3015 return self._Entity.Ec 3016 3017 @property 3018 def Gw(self) -> float: 3019 return self._Entity.Gw 3020 3021 @property 3022 def Gl(self) -> float: 3023 return self._Entity.Gl 3024 3025 @property 3026 def Ftu(self) -> float: 3027 return self._Entity.Ftu 3028 3029 @property 3030 def Fcus(self) -> float: 3031 return self._Entity.Fcus 3032 3033 @property 3034 def Fcub(self) -> float: 3035 return self._Entity.Fcub 3036 3037 @property 3038 def Fcuc(self) -> float: 3039 return self._Entity.Fcuc 3040 3041 @property 3042 def Fsuw(self) -> float: 3043 return self._Entity.Fsuw 3044 3045 @property 3046 def Fsul(self) -> float: 3047 return self._Entity.Fsul 3048 3049 @property 3050 def SScfl(self) -> float: 3051 return self._Entity.SScfl 3052 3053 @property 3054 def SScfh(self) -> float: 3055 return self._Entity.SScfh 3056 3057 @property 3058 def Kl(self) -> float: 3059 return self._Entity.Kl 3060 3061 @property 3062 def Kw(self) -> float: 3063 return self._Entity.Kw 3064 3065 @property 3066 def Kt(self) -> float: 3067 return self._Entity.Kt 3068 3069 @property 3070 def C(self) -> float: 3071 return self._Entity.C 3072 3073 @Temperature.setter 3074 def Temperature(self, value: float) -> None: 3075 self._Entity.Temperature = value 3076 3077 @Et.setter 3078 def Et(self, value: float) -> None: 3079 self._Entity.Et = value 3080 3081 @Ec.setter 3082 def Ec(self, value: float) -> None: 3083 self._Entity.Ec = value 3084 3085 @Gw.setter 3086 def Gw(self, value: float) -> None: 3087 self._Entity.Gw = value 3088 3089 @Gl.setter 3090 def Gl(self, value: float) -> None: 3091 self._Entity.Gl = value 3092 3093 @Ftu.setter 3094 def Ftu(self, value: float) -> None: 3095 self._Entity.Ftu = value 3096 3097 @Fcus.setter 3098 def Fcus(self, value: float) -> None: 3099 self._Entity.Fcus = value 3100 3101 @Fcub.setter 3102 def Fcub(self, value: float) -> None: 3103 self._Entity.Fcub = value 3104 3105 @Fcuc.setter 3106 def Fcuc(self, value: float) -> None: 3107 self._Entity.Fcuc = value 3108 3109 @Fsuw.setter 3110 def Fsuw(self, value: float) -> None: 3111 self._Entity.Fsuw = value 3112 3113 @Fsul.setter 3114 def Fsul(self, value: float) -> None: 3115 self._Entity.Fsul = value 3116 3117 @SScfl.setter 3118 def SScfl(self, value: float) -> None: 3119 self._Entity.SScfl = value 3120 3121 @SScfh.setter 3122 def SScfh(self, value: float) -> None: 3123 self._Entity.SScfh = value 3124 3125 @Kl.setter 3126 def Kl(self, value: float) -> None: 3127 self._Entity.Kl = value 3128 3129 @Kw.setter 3130 def Kw(self, value: float) -> None: 3131 self._Entity.Kw = value 3132 3133 @Kt.setter 3134 def Kt(self, value: float) -> None: 3135 self._Entity.Kt = value 3136 3137 @C.setter 3138 def C(self, value: float) -> None: 3139 self._Entity.C = value
Honeycomb material temperature dependent properties.
3142class Honeycomb: 3143 ''' 3144 Honeycomb material. 3145 ''' 3146 def __init__(self, honeycomb: _api.Honeycomb): 3147 self._Entity = honeycomb 3148 3149 @property 3150 def MaterialFamilyName(self) -> str: 3151 return self._Entity.MaterialFamilyName 3152 3153 @property 3154 def Id(self) -> int: 3155 return self._Entity.Id 3156 3157 @property 3158 def CreationDate(self) -> DateTime: 3159 return self._Entity.CreationDate 3160 3161 @property 3162 def ModificationDate(self) -> DateTime: 3163 return self._Entity.ModificationDate 3164 3165 @property 3166 def Name(self) -> str: 3167 return self._Entity.Name 3168 3169 @property 3170 def Wet(self) -> bool: 3171 return self._Entity.Wet 3172 3173 @property 3174 def Density(self) -> float: 3175 return self._Entity.Density 3176 3177 @property 3178 def Form(self) -> str: 3179 return self._Entity.Form 3180 3181 @property 3182 def Specification(self) -> str: 3183 return self._Entity.Specification 3184 3185 @property 3186 def MaterialDescription(self) -> str: 3187 return self._Entity.MaterialDescription 3188 3189 @property 3190 def UserNote(self) -> str: 3191 return self._Entity.UserNote 3192 3193 @property 3194 def FemMaterialId(self) -> int: 3195 return self._Entity.FemMaterialId 3196 3197 @property 3198 def Cost(self) -> float: 3199 return self._Entity.Cost 3200 3201 @property 3202 def CellSize(self) -> float: 3203 return self._Entity.CellSize 3204 3205 @property 3206 def Manufacturer(self) -> str: 3207 return self._Entity.Manufacturer 3208 3209 @property 3210 def HoneycombTemperatureProperties(self) -> list[HoneycombTemperature]: 3211 return [HoneycombTemperature(honeycombTemperature) for honeycombTemperature in self._Entity.HoneycombTemperatureProperties] 3212 3213 @MaterialFamilyName.setter 3214 def MaterialFamilyName(self, value: str) -> None: 3215 self._Entity.MaterialFamilyName = value 3216 3217 @Name.setter 3218 def Name(self, value: str) -> None: 3219 self._Entity.Name = value 3220 3221 @Wet.setter 3222 def Wet(self, value: bool) -> None: 3223 self._Entity.Wet = value 3224 3225 @Density.setter 3226 def Density(self, value: float) -> None: 3227 self._Entity.Density = value 3228 3229 @Form.setter 3230 def Form(self, value: str) -> None: 3231 self._Entity.Form = value 3232 3233 @Specification.setter 3234 def Specification(self, value: str) -> None: 3235 self._Entity.Specification = value 3236 3237 @MaterialDescription.setter 3238 def MaterialDescription(self, value: str) -> None: 3239 self._Entity.MaterialDescription = value 3240 3241 @UserNote.setter 3242 def UserNote(self, value: str) -> None: 3243 self._Entity.UserNote = value 3244 3245 @FemMaterialId.setter 3246 def FemMaterialId(self, value: int) -> None: 3247 self._Entity.FemMaterialId = value 3248 3249 @Cost.setter 3250 def Cost(self, value: float) -> None: 3251 self._Entity.Cost = value 3252 3253 @CellSize.setter 3254 def CellSize(self, value: float) -> None: 3255 self._Entity.CellSize = value 3256 3257 @Manufacturer.setter 3258 def Manufacturer(self, value: str) -> None: 3259 self._Entity.Manufacturer = value 3260 3261 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3262 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c)) 3263 3264 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3265 return self._Entity.DeleteTemperatureProperty(temperature) 3266 3267 def GetTemperature(self, lookupTemperature: float) -> HoneycombTemperature: 3268 return HoneycombTemperature(self._Entity.GetTemperature(lookupTemperature)) 3269 3270 def Save(self) -> None: 3271 ''' 3272 Save any changes to this honeycomb material to the database. 3273 ''' 3274 return self._Entity.Save()
Honeycomb material.
3261 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3262 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c))
3277class IsotropicTemperature: 3278 ''' 3279 Isotropic material temperature dependent properties. 3280 ''' 3281 def __init__(self, isotropicTemperature: _api.IsotropicTemperature): 3282 self._Entity = isotropicTemperature 3283 3284 @property 3285 def Temperature(self) -> float: 3286 return self._Entity.Temperature 3287 3288 @property 3289 def Et(self) -> float: 3290 return self._Entity.Et 3291 3292 @property 3293 def Ec(self) -> float: 3294 return self._Entity.Ec 3295 3296 @property 3297 def G(self) -> float: 3298 return self._Entity.G 3299 3300 @property 3301 def n(self) -> float: 3302 return self._Entity.n 3303 3304 @property 3305 def F02(self) -> float: 3306 return self._Entity.F02 3307 3308 @property 3309 def FtuL(self) -> float: 3310 return self._Entity.FtuL 3311 3312 @property 3313 def FtyL(self) -> float: 3314 return self._Entity.FtyL 3315 3316 @property 3317 def FcyL(self) -> float: 3318 return self._Entity.FcyL 3319 3320 @property 3321 def FtuLT(self) -> float: 3322 return self._Entity.FtuLT 3323 3324 @property 3325 def FtyLT(self) -> float: 3326 return self._Entity.FtyLT 3327 3328 @property 3329 def FcyLT(self) -> float: 3330 return self._Entity.FcyLT 3331 3332 @property 3333 def Fsu(self) -> float: 3334 return self._Entity.Fsu 3335 3336 @property 3337 def Fbru15(self) -> float: 3338 return self._Entity.Fbru15 3339 3340 @property 3341 def Fbry15(self) -> float: 3342 return self._Entity.Fbry15 3343 3344 @property 3345 def Fbru20(self) -> float: 3346 return self._Entity.Fbru20 3347 3348 @property 3349 def Fbry20(self) -> float: 3350 return self._Entity.Fbry20 3351 3352 @property 3353 def alpha(self) -> float: 3354 return self._Entity.alpha 3355 3356 @property 3357 def K(self) -> float: 3358 return self._Entity.K 3359 3360 @property 3361 def C(self) -> float: 3362 return self._Entity.C 3363 3364 @property 3365 def etyL(self) -> float: 3366 return self._Entity.etyL 3367 3368 @property 3369 def ecyL(self) -> float: 3370 return self._Entity.ecyL 3371 3372 @property 3373 def etyLT(self) -> float: 3374 return self._Entity.etyLT 3375 3376 @property 3377 def ecyLT(self) -> float: 3378 return self._Entity.ecyLT 3379 3380 @property 3381 def esu(self) -> float: 3382 return self._Entity.esu 3383 3384 @property 3385 def Fpadh(self) -> float: 3386 return self._Entity.Fpadh 3387 3388 @property 3389 def Fsadh(self) -> float: 3390 return self._Entity.Fsadh 3391 3392 @property 3393 def esadh(self) -> float: 3394 return self._Entity.esadh 3395 3396 @property 3397 def cd(self) -> float: 3398 return self._Entity.cd 3399 3400 @property 3401 def Ffwt(self) -> float: 3402 return self._Entity.Ffwt 3403 3404 @property 3405 def Ffxz(self) -> float: 3406 return self._Entity.Ffxz 3407 3408 @property 3409 def Ffyz(self) -> float: 3410 return self._Entity.Ffyz 3411 3412 @property 3413 def FtFatigue(self) -> float: 3414 return self._Entity.FtFatigue 3415 3416 @property 3417 def FcFatigue(self) -> float: 3418 return self._Entity.FcFatigue 3419 3420 @Temperature.setter 3421 def Temperature(self, value: float) -> None: 3422 self._Entity.Temperature = value 3423 3424 @Et.setter 3425 def Et(self, value: float) -> None: 3426 self._Entity.Et = value 3427 3428 @Ec.setter 3429 def Ec(self, value: float) -> None: 3430 self._Entity.Ec = value 3431 3432 @G.setter 3433 def G(self, value: float) -> None: 3434 self._Entity.G = value 3435 3436 @n.setter 3437 def n(self, value: float) -> None: 3438 self._Entity.n = value 3439 3440 @F02.setter 3441 def F02(self, value: float) -> None: 3442 self._Entity.F02 = value 3443 3444 @FtuL.setter 3445 def FtuL(self, value: float) -> None: 3446 self._Entity.FtuL = value 3447 3448 @FtyL.setter 3449 def FtyL(self, value: float) -> None: 3450 self._Entity.FtyL = value 3451 3452 @FcyL.setter 3453 def FcyL(self, value: float) -> None: 3454 self._Entity.FcyL = value 3455 3456 @FtuLT.setter 3457 def FtuLT(self, value: float) -> None: 3458 self._Entity.FtuLT = value 3459 3460 @FtyLT.setter 3461 def FtyLT(self, value: float) -> None: 3462 self._Entity.FtyLT = value 3463 3464 @FcyLT.setter 3465 def FcyLT(self, value: float) -> None: 3466 self._Entity.FcyLT = value 3467 3468 @Fsu.setter 3469 def Fsu(self, value: float) -> None: 3470 self._Entity.Fsu = value 3471 3472 @Fbru15.setter 3473 def Fbru15(self, value: float) -> None: 3474 self._Entity.Fbru15 = value 3475 3476 @Fbry15.setter 3477 def Fbry15(self, value: float) -> None: 3478 self._Entity.Fbry15 = value 3479 3480 @Fbru20.setter 3481 def Fbru20(self, value: float) -> None: 3482 self._Entity.Fbru20 = value 3483 3484 @Fbry20.setter 3485 def Fbry20(self, value: float) -> None: 3486 self._Entity.Fbry20 = value 3487 3488 @alpha.setter 3489 def alpha(self, value: float) -> None: 3490 self._Entity.alpha = value 3491 3492 @K.setter 3493 def K(self, value: float) -> None: 3494 self._Entity.K = value 3495 3496 @C.setter 3497 def C(self, value: float) -> None: 3498 self._Entity.C = value 3499 3500 @etyL.setter 3501 def etyL(self, value: float) -> None: 3502 self._Entity.etyL = value 3503 3504 @ecyL.setter 3505 def ecyL(self, value: float) -> None: 3506 self._Entity.ecyL = value 3507 3508 @etyLT.setter 3509 def etyLT(self, value: float) -> None: 3510 self._Entity.etyLT = value 3511 3512 @ecyLT.setter 3513 def ecyLT(self, value: float) -> None: 3514 self._Entity.ecyLT = value 3515 3516 @esu.setter 3517 def esu(self, value: float) -> None: 3518 self._Entity.esu = value 3519 3520 @Fpadh.setter 3521 def Fpadh(self, value: float) -> None: 3522 self._Entity.Fpadh = value 3523 3524 @Fsadh.setter 3525 def Fsadh(self, value: float) -> None: 3526 self._Entity.Fsadh = value 3527 3528 @esadh.setter 3529 def esadh(self, value: float) -> None: 3530 self._Entity.esadh = value 3531 3532 @cd.setter 3533 def cd(self, value: float) -> None: 3534 self._Entity.cd = value 3535 3536 @Ffwt.setter 3537 def Ffwt(self, value: float) -> None: 3538 self._Entity.Ffwt = value 3539 3540 @Ffxz.setter 3541 def Ffxz(self, value: float) -> None: 3542 self._Entity.Ffxz = value 3543 3544 @Ffyz.setter 3545 def Ffyz(self, value: float) -> None: 3546 self._Entity.Ffyz = value 3547 3548 @FtFatigue.setter 3549 def FtFatigue(self, value: float) -> None: 3550 self._Entity.FtFatigue = value 3551 3552 @FcFatigue.setter 3553 def FcFatigue(self, value: float) -> None: 3554 self._Entity.FcFatigue = value
Isotropic material temperature dependent properties.
3557class Isotropic: 3558 ''' 3559 Isotropic material. 3560 ''' 3561 def __init__(self, isotropic: _api.Isotropic): 3562 self._Entity = isotropic 3563 3564 @property 3565 def MaterialFamilyName(self) -> str: 3566 return self._Entity.MaterialFamilyName 3567 3568 @property 3569 def Id(self) -> int: 3570 return self._Entity.Id 3571 3572 @property 3573 def CreationDate(self) -> DateTime: 3574 return self._Entity.CreationDate 3575 3576 @property 3577 def ModificationDate(self) -> DateTime: 3578 return self._Entity.ModificationDate 3579 3580 @property 3581 def Name(self) -> str: 3582 return self._Entity.Name 3583 3584 @property 3585 def Form(self) -> str: 3586 return self._Entity.Form 3587 3588 @property 3589 def Specification(self) -> str: 3590 return self._Entity.Specification 3591 3592 @property 3593 def Temper(self) -> str: 3594 return self._Entity.Temper 3595 3596 @property 3597 def Basis(self) -> str: 3598 return self._Entity.Basis 3599 3600 @property 3601 def Density(self) -> float: 3602 return self._Entity.Density 3603 3604 @property 3605 def MaterialDescription(self) -> str: 3606 return self._Entity.MaterialDescription 3607 3608 @property 3609 def UserNote(self) -> str: 3610 return self._Entity.UserNote 3611 3612 @property 3613 def FemMaterialId(self) -> int: 3614 return self._Entity.FemMaterialId 3615 3616 @property 3617 def Cost(self) -> float: 3618 return self._Entity.Cost 3619 3620 @property 3621 def BucklingStiffnessKnockdown(self) -> float: 3622 return self._Entity.BucklingStiffnessKnockdown 3623 3624 @property 3625 def IsotropicTemperatureProperties(self) -> list[IsotropicTemperature]: 3626 return [IsotropicTemperature(isotropicTemperature) for isotropicTemperature in self._Entity.IsotropicTemperatureProperties] 3627 3628 @MaterialFamilyName.setter 3629 def MaterialFamilyName(self, value: str) -> None: 3630 self._Entity.MaterialFamilyName = value 3631 3632 @Name.setter 3633 def Name(self, value: str) -> None: 3634 self._Entity.Name = value 3635 3636 @Form.setter 3637 def Form(self, value: str) -> None: 3638 self._Entity.Form = value 3639 3640 @Specification.setter 3641 def Specification(self, value: str) -> None: 3642 self._Entity.Specification = value 3643 3644 @Temper.setter 3645 def Temper(self, value: str) -> None: 3646 self._Entity.Temper = value 3647 3648 @Basis.setter 3649 def Basis(self, value: str) -> None: 3650 self._Entity.Basis = value 3651 3652 @Density.setter 3653 def Density(self, value: float) -> None: 3654 self._Entity.Density = value 3655 3656 @MaterialDescription.setter 3657 def MaterialDescription(self, value: str) -> None: 3658 self._Entity.MaterialDescription = value 3659 3660 @UserNote.setter 3661 def UserNote(self, value: str) -> None: 3662 self._Entity.UserNote = value 3663 3664 @FemMaterialId.setter 3665 def FemMaterialId(self, value: int) -> None: 3666 self._Entity.FemMaterialId = value 3667 3668 @Cost.setter 3669 def Cost(self, value: float) -> None: 3670 self._Entity.Cost = value 3671 3672 @BucklingStiffnessKnockdown.setter 3673 def BucklingStiffnessKnockdown(self, value: float) -> None: 3674 self._Entity.BucklingStiffnessKnockdown = value 3675 3676 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3677 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue)) 3678 3679 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3680 return self._Entity.DeleteTemperatureProperty(temperature) 3681 3682 def GetTemperature(self, lookupTemperature: float) -> IsotropicTemperature: 3683 return IsotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 3684 3685 def Save(self) -> None: 3686 ''' 3687 Save any changes to this isotropic material to the database. 3688 ''' 3689 return self._Entity.Save()
Isotropic material.
3676 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3677 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue))
3692class LaminateBase(ABC): 3693 def __init__(self, laminateBase: _api.LaminateBase): 3694 self._Entity = laminateBase 3695 3696 @property 3697 def Id(self) -> int: 3698 return self._Entity.Id 3699 3700 @property 3701 def Name(self) -> str: 3702 return self._Entity.Name 3703 3704 @property 3705 def IsEditable(self) -> bool: 3706 return self._Entity.IsEditable 3707 3708 @property 3709 def MaterialFamilyName(self) -> str: 3710 return self._Entity.MaterialFamilyName 3711 3712 @property 3713 def LayerCount(self) -> int: 3714 return self._Entity.LayerCount 3715 3716 @property 3717 def Density(self) -> float: 3718 return self._Entity.Density 3719 3720 @property 3721 def Thickness(self) -> float: 3722 return self._Entity.Thickness 3723 3724 @property 3725 def LaminateFamilyId(self) -> int: 3726 return self._Entity.LaminateFamilyId 3727 3728 @property 3729 def LaminateFamilyOrder(self) -> int: 3730 return self._Entity.LaminateFamilyOrder 3731 3732 @property 3733 def HyperLaminate(self) -> bool: 3734 return self._Entity.HyperLaminate 3735 3736 @Name.setter 3737 def Name(self, value: str) -> None: 3738 self._Entity.Name = value 3739 3740 @MaterialFamilyName.setter 3741 def MaterialFamilyName(self, value: str) -> None: 3742 self._Entity.MaterialFamilyName = value 3743 3744 @abstractmethod 3745 def Save(self) -> None: 3746 ''' 3747 Save the laminate. 3748 ''' 3749 return self._Entity.Save()
3752class LaminateFamily(IdNameEntity): 3753 def __init__(self, laminateFamily: _api.LaminateFamily): 3754 self._Entity = laminateFamily 3755 3756 @property 3757 def Laminates(self) -> list[LaminateBase]: 3758 return [LaminateBase(laminateBase) for laminateBase in self._Entity.Laminates] 3759 3760 @property 3761 def ModificationDate(self) -> DateTime: 3762 return self._Entity.ModificationDate 3763 3764 @property 3765 def PlankSetting(self) -> types.LaminateFamilySettingType: 3766 return types.LaminateFamilySettingType[self._Entity.PlankSetting.ToString()] 3767 3768 @property 3769 def PlankMinRatio(self) -> float: 3770 return self._Entity.PlankMinRatio 3771 3772 @property 3773 def PlankMaxRatio(self) -> float: 3774 return self._Entity.PlankMaxRatio 3775 3776 @property 3777 def FootChargeSetting(self) -> types.LaminateFamilySettingType: 3778 return types.LaminateFamilySettingType[self._Entity.FootChargeSetting.ToString()] 3779 3780 @property 3781 def FootChargeMinRatio(self) -> float: 3782 return self._Entity.FootChargeMinRatio 3783 3784 @property 3785 def FootChargeMaxRatio(self) -> float: 3786 return self._Entity.FootChargeMaxRatio 3787 3788 @property 3789 def WebChargeSetting(self) -> types.LaminateFamilySettingType: 3790 return types.LaminateFamilySettingType[self._Entity.WebChargeSetting.ToString()] 3791 3792 @property 3793 def WebChargeMinRatio(self) -> float: 3794 return self._Entity.WebChargeMinRatio 3795 3796 @property 3797 def WebChargeMaxRatio(self) -> float: 3798 return self._Entity.WebChargeMaxRatio 3799 3800 @property 3801 def CapChargeSetting(self) -> types.LaminateFamilySettingType: 3802 return types.LaminateFamilySettingType[self._Entity.CapChargeSetting.ToString()] 3803 3804 @property 3805 def CapChargeMinRatio(self) -> float: 3806 return self._Entity.CapChargeMinRatio 3807 3808 @property 3809 def CapChargeMaxRatio(self) -> float: 3810 return self._Entity.CapChargeMaxRatio 3811 3812 @property 3813 def CapCoverSetting(self) -> types.LaminateFamilySettingType: 3814 return types.LaminateFamilySettingType[self._Entity.CapCoverSetting.ToString()] 3815 3816 @property 3817 def CapCoverMinRatio(self) -> float: 3818 return self._Entity.CapCoverMinRatio 3819 3820 @property 3821 def CapCoverMaxRatio(self) -> float: 3822 return self._Entity.CapCoverMaxRatio 3823 3824 @property 3825 def DropPattern(self) -> types.PlyDropPattern: 3826 return types.PlyDropPattern[self._Entity.DropPattern.ToString()] 3827 3828 @property 3829 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 3830 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()]
Represents an entity with an ID and Name.
Inherited Members
3833class LaminateLayerBase(ABC): 3834 def __init__(self, laminateLayerBase: _api.LaminateLayerBase): 3835 self._Entity = laminateLayerBase 3836 3837 @property 3838 def LayerId(self) -> int: 3839 return self._Entity.LayerId 3840 3841 @property 3842 def LayerMaterial(self) -> str: 3843 return self._Entity.LayerMaterial 3844 3845 @property 3846 def LayerMaterialType(self) -> types.MaterialType: 3847 ''' 3848 Represents a material's type. 3849 ''' 3850 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3851 3852 @property 3853 def Angle(self) -> float: 3854 return self._Entity.Angle 3855 3856 @property 3857 def Thickness(self) -> float: 3858 return self._Entity.Thickness 3859 3860 @property 3861 def IsFabric(self) -> bool: 3862 return self._Entity.IsFabric 3863 3864 @Angle.setter 3865 @abstractmethod 3866 def Angle(self, value: float) -> None: 3867 self._Entity.Angle = value 3868 3869 def SetThickness(self, thickness: float) -> None: 3870 return self._Entity.SetThickness(thickness) 3871 3872 @overload 3873 def SetMaterial(self, matId: int) -> bool: ... 3874 3875 @overload 3876 def SetMaterial(self, matName: str) -> bool: ... 3877 3878 def SetMaterial(self, item1 = None) -> bool: 3879 if isinstance(item1, int): 3880 return self._Entity.SetMaterial(item1) 3881 3882 if isinstance(item1, str): 3883 return self._Entity.SetMaterial(item1) 3884 3885 return self._Entity.SetMaterial(item1)
3845 @property 3846 def LayerMaterialType(self) -> types.MaterialType: 3847 ''' 3848 Represents a material's type. 3849 ''' 3850 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
3888class LaminateLayer(LaminateLayerBase): 3889 ''' 3890 Layer in a non-stiffener laminate. 3891 ''' 3892 def __init__(self, laminateLayer: _api.LaminateLayer): 3893 self._Entity = laminateLayer 3894 3895 @property 3896 def LayerId(self) -> int: 3897 return self._Entity.LayerId 3898 3899 @property 3900 def LayerMaterialType(self) -> types.MaterialType: 3901 ''' 3902 Represents a material's type. 3903 ''' 3904 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3905 3906 @property 3907 def Angle(self) -> float: 3908 return self._Entity.Angle 3909 3910 @property 3911 def Thickness(self) -> float: 3912 return self._Entity.Thickness 3913 3914 @property 3915 def IsFabric(self) -> bool: 3916 return self._Entity.IsFabric 3917 3918 @Angle.setter 3919 def Angle(self, value: float) -> None: 3920 self._Entity.Angle = value 3921 3922 @overload 3923 def SetMaterial(self, matId: int) -> bool: ... 3924 3925 @overload 3926 def SetMaterial(self, matName: str) -> bool: ... 3927 3928 def SetMaterial(self, item1 = None) -> bool: 3929 if isinstance(item1, int): 3930 return bool(super().SetMaterial(item1)) 3931 3932 if isinstance(item1, str): 3933 return bool(super().SetMaterial(item1)) 3934 3935 return self._Entity.SetMaterial(item1)
Layer in a non-stiffener laminate.
3899 @property 3900 def LayerMaterialType(self) -> types.MaterialType: 3901 ''' 3902 Represents a material's type. 3903 ''' 3904 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
Inherited Members
3938class Laminate(LaminateBase): 3939 ''' 3940 Laminate 3941 ''' 3942 def __init__(self, laminate: _api.Laminate): 3943 self._Entity = laminate 3944 3945 @property 3946 def Layers(self) -> list[LaminateLayer]: 3947 return [LaminateLayer(laminateLayer) for laminateLayer in self._Entity.Layers] 3948 3949 def AddLayer(self, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 3950 return LaminateLayer(self._Entity.AddLayer(materialName, angle, thickness)) 3951 3952 def InsertLayer(self, layerId: int, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 3953 return LaminateLayer(self._Entity.InsertLayer(layerId, materialName, angle, thickness)) 3954 3955 def RemoveLayer(self, layerId: int) -> bool: 3956 return self._Entity.RemoveLayer(layerId) 3957 3958 def Save(self) -> None: 3959 ''' 3960 Save any changes to this laminate material to the database. 3961 ''' 3962 return self._Entity.Save()
Laminate
3965class StiffenerLaminateLayer(LaminateLayerBase): 3966 ''' 3967 Stiffener Laminate Layer 3968 ''' 3969 def __init__(self, stiffenerLaminateLayer: _api.StiffenerLaminateLayer): 3970 self._Entity = stiffenerLaminateLayer 3971 3972 @property 3973 def LayerLocations(self) -> list[types.StiffenerLaminateLayerLocation]: 3974 return [types.StiffenerLaminateLayerLocation[stiffenerLaminateLayerLocation.ToString()] for stiffenerLaminateLayerLocation in self._Entity.LayerLocations] 3975 3976 @property 3977 def LayerId(self) -> int: 3978 return self._Entity.LayerId 3979 3980 @property 3981 def LayerMaterialType(self) -> types.MaterialType: 3982 ''' 3983 Represents a material's type. 3984 ''' 3985 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3986 3987 @property 3988 def Angle(self) -> float: 3989 return self._Entity.Angle 3990 3991 @property 3992 def Thickness(self) -> float: 3993 return self._Entity.Thickness 3994 3995 @property 3996 def IsFabric(self) -> bool: 3997 return self._Entity.IsFabric 3998 3999 @Angle.setter 4000 def Angle(self, value: float) -> None: 4001 self._Entity.Angle = value 4002 4003 def AddLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> None: 4004 return self._Entity.AddLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4005 4006 def RemoveLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> bool: 4007 return self._Entity.RemoveLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4008 4009 @overload 4010 def SetMaterial(self, matId: int) -> bool: ... 4011 4012 @overload 4013 def SetMaterial(self, matName: str) -> bool: ... 4014 4015 def SetMaterial(self, item1 = None) -> bool: 4016 if isinstance(item1, int): 4017 return bool(super().SetMaterial(item1)) 4018 4019 if isinstance(item1, str): 4020 return bool(super().SetMaterial(item1)) 4021 4022 return self._Entity.SetMaterial(item1)
Stiffener Laminate Layer
3980 @property 3981 def LayerMaterialType(self) -> types.MaterialType: 3982 ''' 3983 Represents a material's type. 3984 ''' 3985 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
Inherited Members
4025class StiffenerLaminate(LaminateBase): 4026 ''' 4027 Stiffener Laminate 4028 ''' 4029 def __init__(self, stiffenerLaminate: _api.StiffenerLaminate): 4030 self._Entity = stiffenerLaminate 4031 4032 @property 4033 def Layers(self) -> list[StiffenerLaminateLayer]: 4034 return [StiffenerLaminateLayer(stiffenerLaminateLayer) for stiffenerLaminateLayer in self._Entity.Layers] 4035 4036 @property 4037 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 4038 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 4039 4040 @overload 4041 def AddLayer(self, location: types.StiffenerLaminateLayerLocation, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4042 4043 @overload 4044 def InsertLayer(self, location: types.StiffenerLaminateLayerLocation, layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4045 4046 @overload 4047 def AddLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4048 4049 @overload 4050 def InsertLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4051 4052 def RemoveLayer(self, layerId: int) -> bool: 4053 return self._Entity.RemoveLayer(layerId) 4054 4055 def Save(self) -> None: 4056 ''' 4057 Save laminate to database. 4058 ''' 4059 return self._Entity.Save() 4060 4061 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4062 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4063 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4064 4065 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4066 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4067 if item1 is not None: 4068 for thing in item1: 4069 if thing is not None: 4070 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4071 locationsEnumerable = IEnumerable(locationsList) 4072 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4073 4074 return self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4) 4075 4076 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4077 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4078 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4079 4080 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4081 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4082 if item1 is not None: 4083 for thing in item1: 4084 if thing is not None: 4085 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4086 locationsEnumerable = IEnumerable(locationsList) 4087 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4088 4089 return self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)
Stiffener Laminate
4061 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4062 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4063 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4064 4065 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4066 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4067 if item1 is not None: 4068 for thing in item1: 4069 if thing is not None: 4070 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4071 locationsEnumerable = IEnumerable(locationsList) 4072 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4073 4074 return self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)
4076 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4077 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4078 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4079 4080 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4081 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4082 if item1 is not None: 4083 for thing in item1: 4084 if thing is not None: 4085 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4086 locationsEnumerable = IEnumerable(locationsList) 4087 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4088 4089 return self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)
4092class OrthotropicCorrectionFactorBase(ABC): 4093 ''' 4094 Orthotropic material correction factor. 4095 ''' 4096 def __init__(self, orthotropicCorrectionFactorBase: _api.OrthotropicCorrectionFactorBase): 4097 self._Entity = orthotropicCorrectionFactorBase 4098 4099 @property 4100 def CorrectionId(self) -> types.CorrectionId: 4101 ''' 4102 Correction ID for a correction factor. (Columns in HyperX) 4103 ''' 4104 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4105 4106 @property 4107 def PropertyId(self) -> types.CorrectionProperty: 4108 ''' 4109 Property name for a correction factor. (Rows in HyperX) 4110 ''' 4111 return types.CorrectionProperty[self._Entity.PropertyId.ToString()]
Orthotropic material correction factor.
4099 @property 4100 def CorrectionId(self) -> types.CorrectionId: 4101 ''' 4102 Correction ID for a correction factor. (Columns in HyperX) 4103 ''' 4104 return types.CorrectionId[self._Entity.CorrectionId.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4106 @property 4107 def PropertyId(self) -> types.CorrectionProperty: 4108 ''' 4109 Property name for a correction factor. (Rows in HyperX) 4110 ''' 4111 return types.CorrectionProperty[self._Entity.PropertyId.ToString()]
Property name for a correction factor. (Rows in HyperX)
4114class OrthotropicCorrectionFactorPoint: 4115 ''' 4116 Pointer to an Equation-based or Tabular Correction Factor. 4117 ''' 4118 def __init__(self, orthotropicCorrectionFactorPoint: _api.OrthotropicCorrectionFactorPoint): 4119 self._Entity = orthotropicCorrectionFactorPoint 4120 4121 def Create_OrthotropicCorrectionFactorPoint(property: types.CorrectionProperty, id: types.CorrectionId): 4122 return OrthotropicCorrectionFactorPoint(_api.OrthotropicCorrectionFactorPoint(_types.CorrectionProperty(property.value), _types.CorrectionId(id.value))) 4123 4124 @property 4125 def CorrectionProperty(self) -> types.CorrectionProperty: 4126 ''' 4127 Property name for a correction factor. (Rows in HyperX) 4128 ''' 4129 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()] 4130 4131 @property 4132 def CorrectionId(self) -> types.CorrectionId: 4133 ''' 4134 Correction ID for a correction factor. (Columns in HyperX) 4135 ''' 4136 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4137 4138 @overload 4139 def Equals(self, other) -> bool: ... 4140 4141 @overload 4142 def Equals(self, obj) -> bool: ... 4143 4144 def GetHashCode(self) -> int: 4145 return self._Entity.GetHashCode() 4146 4147 def Equals(self, item1 = None) -> bool: 4148 if isinstance(item1, OrthotropicCorrectionFactorPoint): 4149 return self._Entity.Equals(item1._Entity) 4150 4151 return self._Entity.Equals(item1._Entity)
Pointer to an Equation-based or Tabular Correction Factor.
4124 @property 4125 def CorrectionProperty(self) -> types.CorrectionProperty: 4126 ''' 4127 Property name for a correction factor. (Rows in HyperX) 4128 ''' 4129 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()]
Property name for a correction factor. (Rows in HyperX)
4131 @property 4132 def CorrectionId(self) -> types.CorrectionId: 4133 ''' 4134 Correction ID for a correction factor. (Columns in HyperX) 4135 ''' 4136 return types.CorrectionId[self._Entity.CorrectionId.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4154class OrthotropicCorrectionFactorValue: 4155 ''' 4156 Orthotropic material equation-based correction factor value. (NOT TABULAR) 4157 ''' 4158 def __init__(self, orthotropicCorrectionFactorValue: _api.OrthotropicCorrectionFactorValue): 4159 self._Entity = orthotropicCorrectionFactorValue 4160 4161 @property 4162 def Property(self) -> types.CorrectionProperty: 4163 ''' 4164 Property name for a correction factor. (Rows in HyperX) 4165 ''' 4166 return types.CorrectionProperty[self._Entity.Property.ToString()] 4167 4168 @property 4169 def Correction(self) -> types.CorrectionId: 4170 ''' 4171 Correction ID for a correction factor. (Columns in HyperX) 4172 ''' 4173 return types.CorrectionId[self._Entity.Correction.ToString()] 4174 4175 @property 4176 def Equation(self) -> types.CorrectionEquation: 4177 ''' 4178 Equation for a correction factor. 4179 ''' 4180 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4181 4182 @property 4183 def EquationParameter(self) -> types.EquationParameterId: 4184 ''' 4185 Correction factor parameter names. 4186 ''' 4187 return types.EquationParameterId[self._Entity.EquationParameter.ToString()] 4188 4189 @property 4190 def Value(self) -> float: 4191 return self._Entity.Value 4192 4193 @Value.setter 4194 def Value(self, value: float) -> None: 4195 self._Entity.Value = value
Orthotropic material equation-based correction factor value. (NOT TABULAR)
4161 @property 4162 def Property(self) -> types.CorrectionProperty: 4163 ''' 4164 Property name for a correction factor. (Rows in HyperX) 4165 ''' 4166 return types.CorrectionProperty[self._Entity.Property.ToString()]
Property name for a correction factor. (Rows in HyperX)
4168 @property 4169 def Correction(self) -> types.CorrectionId: 4170 ''' 4171 Correction ID for a correction factor. (Columns in HyperX) 4172 ''' 4173 return types.CorrectionId[self._Entity.Correction.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4175 @property 4176 def Equation(self) -> types.CorrectionEquation: 4177 ''' 4178 Equation for a correction factor. 4179 ''' 4180 return types.CorrectionEquation[self._Entity.Equation.ToString()]
Equation for a correction factor.
4182 @property 4183 def EquationParameter(self) -> types.EquationParameterId: 4184 ''' 4185 Correction factor parameter names. 4186 ''' 4187 return types.EquationParameterId[self._Entity.EquationParameter.ToString()]
Correction factor parameter names.
4198class OrthotropicEquationCorrectionFactor(OrthotropicCorrectionFactorBase): 4199 ''' 4200 Represents an equation-based orthotropic material correction factor. 4201 ''' 4202 def __init__(self, orthotropicEquationCorrectionFactor: _api.OrthotropicEquationCorrectionFactor): 4203 self._Entity = orthotropicEquationCorrectionFactor 4204 4205 @property 4206 def Equation(self) -> types.CorrectionEquation: 4207 ''' 4208 Equation for a correction factor. 4209 ''' 4210 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4211 4212 @property 4213 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4214 orthotropicCorrectionValuesDict = {} 4215 for kvp in self._Entity.OrthotropicCorrectionValues: 4216 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4217 4218 return orthotropicCorrectionValuesDict 4219 4220 def AddCorrectionFactorValue(self, equationParameterName: types.EquationParameterId, valueToAdd: float) -> OrthotropicCorrectionFactorValue: 4221 return OrthotropicCorrectionFactorValue(self._Entity.AddCorrectionFactorValue(_types.EquationParameterId(equationParameterName.value), valueToAdd))
Represents an equation-based orthotropic material correction factor.
4205 @property 4206 def Equation(self) -> types.CorrectionEquation: 4207 ''' 4208 Equation for a correction factor. 4209 ''' 4210 return types.CorrectionEquation[self._Entity.Equation.ToString()]
Equation for a correction factor.
4212 @property 4213 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4214 orthotropicCorrectionValuesDict = {} 4215 for kvp in self._Entity.OrthotropicCorrectionValues: 4216 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4217 4218 return orthotropicCorrectionValuesDict
Inherited Members
4224class TabularCorrectionFactorIndependentValue: 4225 ''' 4226 Contains an independent value for a tabular correction factor row. 4227 ''' 4228 def __init__(self, tabularCorrectionFactorIndependentValue: _api.TabularCorrectionFactorIndependentValue): 4229 self._Entity = tabularCorrectionFactorIndependentValue 4230 4231 @property 4232 def BoolValue(self) -> bool: 4233 return self._Entity.BoolValue 4234 4235 @property 4236 def DoubleValue(self) -> float: 4237 return self._Entity.DoubleValue 4238 4239 @property 4240 def IntValue(self) -> int: 4241 return self._Entity.IntValue 4242 4243 @property 4244 def ValueType(self) -> types.CorrectionValueType: 4245 ''' 4246 Defines the type of the independent values on a tabular correction factor row. 4247 ''' 4248 return types.CorrectionValueType[self._Entity.ValueType.ToString()]
Contains an independent value for a tabular correction factor row.
4243 @property 4244 def ValueType(self) -> types.CorrectionValueType: 4245 ''' 4246 Defines the type of the independent values on a tabular correction factor row. 4247 ''' 4248 return types.CorrectionValueType[self._Entity.ValueType.ToString()]
Defines the type of the independent values on a tabular correction factor row.
4251class TabularCorrectionFactorRow: 4252 ''' 4253 Row data for a tabular correction factor. 4254 ''' 4255 def __init__(self, tabularCorrectionFactorRow: _api.TabularCorrectionFactorRow): 4256 self._Entity = tabularCorrectionFactorRow 4257 4258 @property 4259 def DependentValue(self) -> float: 4260 return self._Entity.DependentValue 4261 4262 @property 4263 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4264 independentValuesDict = {} 4265 for kvp in self._Entity.IndependentValues: 4266 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4267 4268 return independentValuesDict
Row data for a tabular correction factor.
4262 @property 4263 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4264 independentValuesDict = {} 4265 for kvp in self._Entity.IndependentValues: 4266 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4267 4268 return independentValuesDict
4271class OrthotropicTabularCorrectionFactor(OrthotropicCorrectionFactorBase): 4272 ''' 4273 Tabular correction factor. 4274 ''' 4275 def __init__(self, orthotropicTabularCorrectionFactor: _api.OrthotropicTabularCorrectionFactor): 4276 self._Entity = orthotropicTabularCorrectionFactor 4277 4278 @property 4279 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4280 correctionFactorRowsDict = {} 4281 for kvp in self._Entity.CorrectionFactorRows: 4282 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4283 4284 return correctionFactorRowsDict 4285 4286 @property 4287 def CorrectionIndependentDefinitions(self) -> set[types.CorrectionIndependentDefinition]: 4288 return {types.CorrectionIndependentDefinition(correctionIndependentDefinition) for correctionIndependentDefinition in self._Entity.CorrectionIndependentDefinitions} 4289 4290 @overload 4291 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: float) -> None: ... 4292 4293 @overload 4294 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: bool) -> None: ... 4295 4296 @overload 4297 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: int) -> None: ... 4298 4299 def SetKValue(self, correctionPointId: int, value: float) -> None: 4300 return self._Entity.SetKValue(correctionPointId, value) 4301 4302 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4303 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4304 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4305 4306 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4307 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4308 4309 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4310 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4311 4312 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3)
Tabular correction factor.
4278 @property 4279 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4280 correctionFactorRowsDict = {} 4281 for kvp in self._Entity.CorrectionFactorRows: 4282 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4283 4284 return correctionFactorRowsDict
4302 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4303 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4304 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4305 4306 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4307 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4308 4309 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4310 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4311 4312 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3)
Inherited Members
4315class OrthotropicAllowableCurvePoint: 4316 ''' 4317 Represents a point on a laminate allowable curve. 4318 ''' 4319 def __init__(self, orthotropicAllowableCurvePoint: _api.OrthotropicAllowableCurvePoint): 4320 self._Entity = orthotropicAllowableCurvePoint 4321 4322 @property 4323 def Property_ID(self) -> types.AllowablePropertyName: 4324 ''' 4325 Property name for a laminate allowable. 4326 ''' 4327 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4328 4329 @property 4330 def Temperature(self) -> float: 4331 return self._Entity.Temperature 4332 4333 @property 4334 def X(self) -> float: 4335 return self._Entity.X 4336 4337 @property 4338 def Y(self) -> float: 4339 return self._Entity.Y 4340 4341 @Property_ID.setter 4342 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4343 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4344 4345 @Temperature.setter 4346 def Temperature(self, value: float) -> None: 4347 self._Entity.Temperature = value 4348 4349 @X.setter 4350 def X(self, value: float) -> None: 4351 self._Entity.X = value 4352 4353 @Y.setter 4354 def Y(self, value: float) -> None: 4355 self._Entity.Y = value
Represents a point on a laminate allowable curve.
4322 @property 4323 def Property_ID(self) -> types.AllowablePropertyName: 4324 ''' 4325 Property name for a laminate allowable. 4326 ''' 4327 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()]
Property name for a laminate allowable.
4358class OrthotropicEffectiveLaminate: 4359 ''' 4360 Orthotropic material effective laminate properties. Read-only from the API. 4361 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4362 ''' 4363 def __init__(self, orthotropicEffectiveLaminate: _api.OrthotropicEffectiveLaminate): 4364 self._Entity = orthotropicEffectiveLaminate 4365 4366 @property 4367 def Percent_tape_0(self) -> float: 4368 return self._Entity.Percent_tape_0 4369 4370 @property 4371 def Percent_tape_90(self) -> float: 4372 return self._Entity.Percent_tape_90 4373 4374 @property 4375 def Percent_tape_45(self) -> float: 4376 return self._Entity.Percent_tape_45 4377 4378 @property 4379 def Percent_fabric_0(self) -> float: 4380 return self._Entity.Percent_fabric_0 4381 4382 @property 4383 def Percent_fabric_90(self) -> float: 4384 return self._Entity.Percent_fabric_90 4385 4386 @property 4387 def Percent_fabric_45(self) -> float: 4388 return self._Entity.Percent_fabric_45 4389 4390 @property 4391 def Tape_Orthotropic(self) -> str: 4392 return self._Entity.Tape_Orthotropic 4393 4394 @property 4395 def Fabric_Orthotropic(self) -> str: 4396 return self._Entity.Fabric_Orthotropic 4397 4398 @property 4399 def Valid(self) -> bool: 4400 return self._Entity.Valid 4401 4402 @property 4403 def Use_tape_allowables(self) -> bool: 4404 return self._Entity.Use_tape_allowables
Orthotropic material effective laminate properties. Read-only from the API. Check if material is an effective laminate with orthotropic.IsEffectiveLaminate.
4407class OrthotropicLaminateAllowable: 4408 ''' 4409 Orthotropic material laminate allowable properties. 4410 ''' 4411 def __init__(self, orthotropicLaminateAllowable: _api.OrthotropicLaminateAllowable): 4412 self._Entity = orthotropicLaminateAllowable 4413 4414 @property 4415 def Property_ID(self) -> types.AllowablePropertyName: 4416 ''' 4417 Property name for a laminate allowable. 4418 ''' 4419 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4420 4421 @property 4422 def Method_ID(self) -> types.AllowableMethodName: 4423 ''' 4424 Method name for a laminate allowable. 4425 ''' 4426 return types.AllowableMethodName[self._Entity.Method_ID.ToString()] 4427 4428 @Property_ID.setter 4429 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4430 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4431 4432 @Method_ID.setter 4433 def Method_ID(self, value: types.AllowableMethodName) -> None: 4434 self._Entity.Method_ID = _types.AllowableMethodName(value.value)
Orthotropic material laminate allowable properties.
4414 @property 4415 def Property_ID(self) -> types.AllowablePropertyName: 4416 ''' 4417 Property name for a laminate allowable. 4418 ''' 4419 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()]
Property name for a laminate allowable.
4437class OrthotropicTemperature: 4438 ''' 4439 Orthotropic material temperature dependent properties. 4440 ''' 4441 def __init__(self, orthotropicTemperature: _api.OrthotropicTemperature): 4442 self._Entity = orthotropicTemperature 4443 4444 @property 4445 def Temperature(self) -> float: 4446 return self._Entity.Temperature 4447 4448 @property 4449 def Et1(self) -> float: 4450 return self._Entity.Et1 4451 4452 @property 4453 def Et2(self) -> float: 4454 return self._Entity.Et2 4455 4456 @property 4457 def vt12(self) -> float: 4458 return self._Entity.vt12 4459 4460 @property 4461 def Ec1(self) -> float: 4462 return self._Entity.Ec1 4463 4464 @property 4465 def Ec2(self) -> float: 4466 return self._Entity.Ec2 4467 4468 @property 4469 def vc12(self) -> float: 4470 return self._Entity.vc12 4471 4472 @property 4473 def G12(self) -> float: 4474 return self._Entity.G12 4475 4476 @property 4477 def G13(self) -> float: 4478 return self._Entity.G13 4479 4480 @property 4481 def G23(self) -> float: 4482 return self._Entity.G23 4483 4484 @property 4485 def Ftu1(self) -> float: 4486 return self._Entity.Ftu1 4487 4488 @property 4489 def Ftu2(self) -> float: 4490 return self._Entity.Ftu2 4491 4492 @property 4493 def Fcu1(self) -> float: 4494 return self._Entity.Fcu1 4495 4496 @property 4497 def Fcu2(self) -> float: 4498 return self._Entity.Fcu2 4499 4500 @property 4501 def Fsu12(self) -> float: 4502 return self._Entity.Fsu12 4503 4504 @property 4505 def Fsu13(self) -> float: 4506 return self._Entity.Fsu13 4507 4508 @property 4509 def Fsu23(self) -> float: 4510 return self._Entity.Fsu23 4511 4512 @property 4513 def GIc(self) -> float: 4514 return self._Entity.GIc 4515 4516 @property 4517 def alpha1(self) -> float: 4518 return self._Entity.alpha1 4519 4520 @property 4521 def alpha2(self) -> float: 4522 return self._Entity.alpha2 4523 4524 @property 4525 def K1(self) -> float: 4526 return self._Entity.K1 4527 4528 @property 4529 def K2(self) -> float: 4530 return self._Entity.K2 4531 4532 @property 4533 def C(self) -> float: 4534 return self._Entity.C 4535 4536 @property 4537 def etu1(self) -> float: 4538 return self._Entity.etu1 4539 4540 @property 4541 def etu2(self) -> float: 4542 return self._Entity.etu2 4543 4544 @property 4545 def ecu1(self) -> float: 4546 return self._Entity.ecu1 4547 4548 @property 4549 def ecu2(self) -> float: 4550 return self._Entity.ecu2 4551 4552 @property 4553 def ecuoh(self) -> float: 4554 return self._Entity.ecuoh 4555 4556 @property 4557 def ecuai(self) -> float: 4558 return self._Entity.ecuai 4559 4560 @property 4561 def esu12(self) -> float: 4562 return self._Entity.esu12 4563 4564 @property 4565 def Ftu3(self) -> float: 4566 return self._Entity.Ftu3 4567 4568 @property 4569 def GIIc(self) -> float: 4570 return self._Entity.GIIc 4571 4572 @property 4573 def d0Tension(self) -> float: 4574 return self._Entity.d0Tension 4575 4576 @property 4577 def cd(self) -> float: 4578 return self._Entity.cd 4579 4580 @property 4581 def d0Compression(self) -> float: 4582 return self._Entity.d0Compression 4583 4584 @property 4585 def TLt(self) -> float: 4586 return self._Entity.TLt 4587 4588 @property 4589 def TLc(self) -> float: 4590 return self._Entity.TLc 4591 4592 @property 4593 def TTt(self) -> float: 4594 return self._Entity.TTt 4595 4596 @property 4597 def TTc(self) -> float: 4598 return self._Entity.TTc 4599 4600 @property 4601 def OrthotropicAllowableCurvePoints(self) -> list[OrthotropicAllowableCurvePoint]: 4602 return [OrthotropicAllowableCurvePoint(orthotropicAllowableCurvePoint) for orthotropicAllowableCurvePoint in self._Entity.OrthotropicAllowableCurvePoints] 4603 4604 @Temperature.setter 4605 def Temperature(self, value: float) -> None: 4606 self._Entity.Temperature = value 4607 4608 @Et1.setter 4609 def Et1(self, value: float) -> None: 4610 self._Entity.Et1 = value 4611 4612 @Et2.setter 4613 def Et2(self, value: float) -> None: 4614 self._Entity.Et2 = value 4615 4616 @vt12.setter 4617 def vt12(self, value: float) -> None: 4618 self._Entity.vt12 = value 4619 4620 @Ec1.setter 4621 def Ec1(self, value: float) -> None: 4622 self._Entity.Ec1 = value 4623 4624 @Ec2.setter 4625 def Ec2(self, value: float) -> None: 4626 self._Entity.Ec2 = value 4627 4628 @vc12.setter 4629 def vc12(self, value: float) -> None: 4630 self._Entity.vc12 = value 4631 4632 @G12.setter 4633 def G12(self, value: float) -> None: 4634 self._Entity.G12 = value 4635 4636 @G13.setter 4637 def G13(self, value: float) -> None: 4638 self._Entity.G13 = value 4639 4640 @G23.setter 4641 def G23(self, value: float) -> None: 4642 self._Entity.G23 = value 4643 4644 @Ftu1.setter 4645 def Ftu1(self, value: float) -> None: 4646 self._Entity.Ftu1 = value 4647 4648 @Ftu2.setter 4649 def Ftu2(self, value: float) -> None: 4650 self._Entity.Ftu2 = value 4651 4652 @Fcu1.setter 4653 def Fcu1(self, value: float) -> None: 4654 self._Entity.Fcu1 = value 4655 4656 @Fcu2.setter 4657 def Fcu2(self, value: float) -> None: 4658 self._Entity.Fcu2 = value 4659 4660 @Fsu12.setter 4661 def Fsu12(self, value: float) -> None: 4662 self._Entity.Fsu12 = value 4663 4664 @Fsu13.setter 4665 def Fsu13(self, value: float) -> None: 4666 self._Entity.Fsu13 = value 4667 4668 @Fsu23.setter 4669 def Fsu23(self, value: float) -> None: 4670 self._Entity.Fsu23 = value 4671 4672 @GIc.setter 4673 def GIc(self, value: float) -> None: 4674 self._Entity.GIc = value 4675 4676 @alpha1.setter 4677 def alpha1(self, value: float) -> None: 4678 self._Entity.alpha1 = value 4679 4680 @alpha2.setter 4681 def alpha2(self, value: float) -> None: 4682 self._Entity.alpha2 = value 4683 4684 @K1.setter 4685 def K1(self, value: float) -> None: 4686 self._Entity.K1 = value 4687 4688 @K2.setter 4689 def K2(self, value: float) -> None: 4690 self._Entity.K2 = value 4691 4692 @C.setter 4693 def C(self, value: float) -> None: 4694 self._Entity.C = value 4695 4696 @etu1.setter 4697 def etu1(self, value: float) -> None: 4698 self._Entity.etu1 = value 4699 4700 @etu2.setter 4701 def etu2(self, value: float) -> None: 4702 self._Entity.etu2 = value 4703 4704 @ecu1.setter 4705 def ecu1(self, value: float) -> None: 4706 self._Entity.ecu1 = value 4707 4708 @ecu2.setter 4709 def ecu2(self, value: float) -> None: 4710 self._Entity.ecu2 = value 4711 4712 @ecuoh.setter 4713 def ecuoh(self, value: float) -> None: 4714 self._Entity.ecuoh = value 4715 4716 @ecuai.setter 4717 def ecuai(self, value: float) -> None: 4718 self._Entity.ecuai = value 4719 4720 @esu12.setter 4721 def esu12(self, value: float) -> None: 4722 self._Entity.esu12 = value 4723 4724 @Ftu3.setter 4725 def Ftu3(self, value: float) -> None: 4726 self._Entity.Ftu3 = value 4727 4728 @GIIc.setter 4729 def GIIc(self, value: float) -> None: 4730 self._Entity.GIIc = value 4731 4732 @d0Tension.setter 4733 def d0Tension(self, value: float) -> None: 4734 self._Entity.d0Tension = value 4735 4736 @cd.setter 4737 def cd(self, value: float) -> None: 4738 self._Entity.cd = value 4739 4740 @d0Compression.setter 4741 def d0Compression(self, value: float) -> None: 4742 self._Entity.d0Compression = value 4743 4744 @TLt.setter 4745 def TLt(self, value: float) -> None: 4746 self._Entity.TLt = value 4747 4748 @TLc.setter 4749 def TLc(self, value: float) -> None: 4750 self._Entity.TLc = value 4751 4752 @TTt.setter 4753 def TTt(self, value: float) -> None: 4754 self._Entity.TTt = value 4755 4756 @TTc.setter 4757 def TTc(self, value: float) -> None: 4758 self._Entity.TTc = value 4759 4760 def AddCurvePoint(self, property: types.AllowablePropertyName, x: float, y: float) -> OrthotropicAllowableCurvePoint: 4761 return OrthotropicAllowableCurvePoint(self._Entity.AddCurvePoint(_types.AllowablePropertyName(property.value), x, y)) 4762 4763 def DeleteCurvePoint(self, property: types.AllowablePropertyName, x: float) -> bool: 4764 return self._Entity.DeleteCurvePoint(_types.AllowablePropertyName(property.value), x) 4765 4766 def GetCurvePoint(self, property: types.AllowablePropertyName, x: float) -> OrthotropicAllowableCurvePoint: 4767 return OrthotropicAllowableCurvePoint(self._Entity.GetCurvePoint(_types.AllowablePropertyName(property.value), x))
Orthotropic material temperature dependent properties.
4770class Orthotropic: 4771 ''' 4772 Orthotropic material. 4773 ''' 4774 def __init__(self, orthotropic: _api.Orthotropic): 4775 self._Entity = orthotropic 4776 4777 @property 4778 def MaterialFamilyName(self) -> str: 4779 return self._Entity.MaterialFamilyName 4780 4781 @property 4782 def Id(self) -> int: 4783 return self._Entity.Id 4784 4785 @property 4786 def CreationDate(self) -> DateTime: 4787 return self._Entity.CreationDate 4788 4789 @property 4790 def ModificationDate(self) -> DateTime: 4791 return self._Entity.ModificationDate 4792 4793 @property 4794 def Name(self) -> str: 4795 return self._Entity.Name 4796 4797 @property 4798 def Form(self) -> str: 4799 return self._Entity.Form 4800 4801 @property 4802 def Specification(self) -> str: 4803 return self._Entity.Specification 4804 4805 @property 4806 def Basis(self) -> str: 4807 return self._Entity.Basis 4808 4809 @property 4810 def Wet(self) -> bool: 4811 return self._Entity.Wet 4812 4813 @property 4814 def Thickness(self) -> float: 4815 return self._Entity.Thickness 4816 4817 @property 4818 def Density(self) -> float: 4819 return self._Entity.Density 4820 4821 @property 4822 def FiberVolume(self) -> float: 4823 return self._Entity.FiberVolume 4824 4825 @property 4826 def GlassTransition(self) -> float: 4827 return self._Entity.GlassTransition 4828 4829 @property 4830 def Manufacturer(self) -> str: 4831 return self._Entity.Manufacturer 4832 4833 @property 4834 def Processes(self) -> str: 4835 return self._Entity.Processes 4836 4837 @property 4838 def MaterialDescription(self) -> str: 4839 return self._Entity.MaterialDescription 4840 4841 @property 4842 def UserNote(self) -> str: 4843 return self._Entity.UserNote 4844 4845 @property 4846 def BendingCorrectionFactor(self) -> float: 4847 return self._Entity.BendingCorrectionFactor 4848 4849 @property 4850 def FemMaterialId(self) -> int: 4851 return self._Entity.FemMaterialId 4852 4853 @property 4854 def Cost(self) -> float: 4855 return self._Entity.Cost 4856 4857 @property 4858 def BucklingStiffnessKnockdown(self) -> float: 4859 return self._Entity.BucklingStiffnessKnockdown 4860 4861 @property 4862 def OrthotropicTemperatureProperties(self) -> list[OrthotropicTemperature]: 4863 return [OrthotropicTemperature(orthotropicTemperature) for orthotropicTemperature in self._Entity.OrthotropicTemperatureProperties] 4864 4865 @property 4866 def OrthotropicLaminateAllowables(self) -> list[OrthotropicLaminateAllowable]: 4867 return [OrthotropicLaminateAllowable(orthotropicLaminateAllowable) for orthotropicLaminateAllowable in self._Entity.OrthotropicLaminateAllowables] 4868 4869 @property 4870 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4871 ''' 4872 Orthotropic material effective laminate properties. Read-only from the API. 4873 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4874 ''' 4875 result = self._Entity.OrthotropicEffectiveLaminate 4876 return OrthotropicEffectiveLaminate(result) if result is not None else None 4877 4878 @property 4879 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 4880 orthotropicEquationCorrectionFactorsDict = {} 4881 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 4882 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 4883 4884 return orthotropicEquationCorrectionFactorsDict 4885 4886 @property 4887 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 4888 orthotropicTabularCorrectionFactorsDict = {} 4889 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 4890 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 4891 4892 return orthotropicTabularCorrectionFactorsDict 4893 4894 @MaterialFamilyName.setter 4895 def MaterialFamilyName(self, value: str) -> None: 4896 self._Entity.MaterialFamilyName = value 4897 4898 @Name.setter 4899 def Name(self, value: str) -> None: 4900 self._Entity.Name = value 4901 4902 @Form.setter 4903 def Form(self, value: str) -> None: 4904 self._Entity.Form = value 4905 4906 @Specification.setter 4907 def Specification(self, value: str) -> None: 4908 self._Entity.Specification = value 4909 4910 @Basis.setter 4911 def Basis(self, value: str) -> None: 4912 self._Entity.Basis = value 4913 4914 @Wet.setter 4915 def Wet(self, value: bool) -> None: 4916 self._Entity.Wet = value 4917 4918 @Thickness.setter 4919 def Thickness(self, value: float) -> None: 4920 self._Entity.Thickness = value 4921 4922 @Density.setter 4923 def Density(self, value: float) -> None: 4924 self._Entity.Density = value 4925 4926 @FiberVolume.setter 4927 def FiberVolume(self, value: float) -> None: 4928 self._Entity.FiberVolume = value 4929 4930 @GlassTransition.setter 4931 def GlassTransition(self, value: float) -> None: 4932 self._Entity.GlassTransition = value 4933 4934 @Manufacturer.setter 4935 def Manufacturer(self, value: str) -> None: 4936 self._Entity.Manufacturer = value 4937 4938 @Processes.setter 4939 def Processes(self, value: str) -> None: 4940 self._Entity.Processes = value 4941 4942 @MaterialDescription.setter 4943 def MaterialDescription(self, value: str) -> None: 4944 self._Entity.MaterialDescription = value 4945 4946 @UserNote.setter 4947 def UserNote(self, value: str) -> None: 4948 self._Entity.UserNote = value 4949 4950 @BendingCorrectionFactor.setter 4951 def BendingCorrectionFactor(self, value: float) -> None: 4952 self._Entity.BendingCorrectionFactor = value 4953 4954 @FemMaterialId.setter 4955 def FemMaterialId(self, value: int) -> None: 4956 self._Entity.FemMaterialId = value 4957 4958 @Cost.setter 4959 def Cost(self, value: float) -> None: 4960 self._Entity.Cost = value 4961 4962 @BucklingStiffnessKnockdown.setter 4963 def BucklingStiffnessKnockdown(self, value: float) -> None: 4964 self._Entity.BucklingStiffnessKnockdown = value 4965 4966 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 4967 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12)) 4968 4969 def DeleteTemperatureProperty(self, temperature: float) -> bool: 4970 return self._Entity.DeleteTemperatureProperty(temperature) 4971 4972 def GetTemperature(self, lookupTemperature: float) -> OrthotropicTemperature: 4973 return OrthotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 4974 4975 def IsEffectiveLaminate(self) -> bool: 4976 ''' 4977 Returns true if this material is an effective laminate. 4978 ''' 4979 return self._Entity.IsEffectiveLaminate() 4980 4981 def HasLaminateAllowable(self, property: types.AllowablePropertyName) -> bool: 4982 return self._Entity.HasLaminateAllowable(_types.AllowablePropertyName(property.value)) 4983 4984 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 4985 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value))) 4986 4987 def GetLaminateAllowable(self, lookupAllowableProperty: types.AllowablePropertyName) -> OrthotropicLaminateAllowable: 4988 return OrthotropicLaminateAllowable(self._Entity.GetLaminateAllowable(_types.AllowablePropertyName(lookupAllowableProperty.value))) 4989 4990 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 4991 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value))) 4992 4993 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 4994 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 4995 4996 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 4997 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 4998 4999 def Save(self) -> None: 5000 ''' 5001 Save any changes to this orthotropic material to the database. 5002 ''' 5003 return self._Entity.Save()
Orthotropic material.
4869 @property 4870 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4871 ''' 4872 Orthotropic material effective laminate properties. Read-only from the API. 4873 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4874 ''' 4875 result = self._Entity.OrthotropicEffectiveLaminate 4876 return OrthotropicEffectiveLaminate(result) if result is not None else None
Orthotropic material effective laminate properties. Read-only from the API. Check if material is an effective laminate with orthotropic.IsEffectiveLaminate.
4878 @property 4879 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 4880 orthotropicEquationCorrectionFactorsDict = {} 4881 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 4882 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 4883 4884 return orthotropicEquationCorrectionFactorsDict
4886 @property 4887 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 4888 orthotropicTabularCorrectionFactorsDict = {} 4889 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 4890 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 4891 4892 return orthotropicTabularCorrectionFactorsDict
4966 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 4967 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12))
4975 def IsEffectiveLaminate(self) -> bool: 4976 ''' 4977 Returns true if this material is an effective laminate. 4978 ''' 4979 return self._Entity.IsEffectiveLaminate()
Returns true if this material is an effective laminate.
4984 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 4985 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value)))
4990 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 4991 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value)))
4993 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 4994 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value)))
4996 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 4997 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value)))
5006class Vector2d: 5007 ''' 5008 Represents a readonly 2D vector. 5009 ''' 5010 def __init__(self, vector2d: _api.Vector2d): 5011 self._Entity = vector2d 5012 5013 def Create_Vector2d(x: float, y: float): 5014 return Vector2d(_api.Vector2d(x, y)) 5015 5016 @property 5017 def X(self) -> float: 5018 return self._Entity.X 5019 5020 @property 5021 def Y(self) -> float: 5022 return self._Entity.Y 5023 5024 @overload 5025 def Equals(self, other) -> bool: ... 5026 5027 @overload 5028 def Equals(self, obj) -> bool: ... 5029 5030 def GetHashCode(self) -> int: 5031 return self._Entity.GetHashCode() 5032 5033 def Equals(self, item1 = None) -> bool: 5034 if isinstance(item1, Vector2d): 5035 return self._Entity.Equals(item1._Entity) 5036 5037 return self._Entity.Equals(item1._Entity) 5038 5039 def __eq__(self, other): 5040 return self.Equals(other) 5041 5042 def __ne__(self, other): 5043 return not self.Equals(other)
Represents a readonly 2D vector.
5046class ElementSet(IdNameEntity): 5047 ''' 5048 A set of elements defined in the input file. 5049 ''' 5050 def __init__(self, elementSet: _api.ElementSet): 5051 self._Entity = elementSet 5052 5053 @property 5054 def Elements(self) -> ElementCol: 5055 result = self._Entity.Elements 5056 return ElementCol(result) if result is not None else None
A set of elements defined in the input file.
Inherited Members
5059class FemProperty(IdNameEntity): 5060 ''' 5061 A property description. 5062 ''' 5063 def __init__(self, femProperty: _api.FemProperty): 5064 self._Entity = femProperty 5065 5066 @property 5067 def Elements(self) -> ElementCol: 5068 result = self._Entity.Elements 5069 return ElementCol(result) if result is not None else None 5070 5071 @property 5072 def FemType(self) -> types.FemType: 5073 return types.FemType[self._Entity.FemType.ToString()]
A property description.
Inherited Members
5076class ElementSetCol(IdEntityCol[ElementSet]): 5077 def __init__(self, elementSetCol: _api.ElementSetCol): 5078 self._Entity = elementSetCol 5079 self._CollectedClass = ElementSet 5080 5081 @property 5082 def ElementSetColList(self) -> tuple[ElementSet]: 5083 return tuple([ElementSet(elementSetCol) for elementSetCol in self._Entity]) 5084 5085 def __getitem__(self, index: int): 5086 return self.ElementSetColList[index] 5087 5088 def __iter__(self): 5089 yield from self.ElementSetColList 5090 5091 def __len__(self): 5092 return len(self.ElementSetColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
5095class FemPropertyCol(IdEntityCol[FemProperty]): 5096 def __init__(self, femPropertyCol: _api.FemPropertyCol): 5097 self._Entity = femPropertyCol 5098 self._CollectedClass = FemProperty 5099 5100 @property 5101 def FemPropertyColList(self) -> tuple[FemProperty]: 5102 return tuple([FemProperty(femPropertyCol) for femPropertyCol in self._Entity]) 5103 5104 def __getitem__(self, index: int): 5105 return self.FemPropertyColList[index] 5106 5107 def __iter__(self): 5108 yield from self.FemPropertyColList 5109 5110 def __len__(self): 5111 return len(self.FemPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
5114class FemDataSet: 5115 def __init__(self, femDataSet: _api.FemDataSet): 5116 self._Entity = femDataSet 5117 5118 @property 5119 def FemProperties(self) -> FemPropertyCol: 5120 result = self._Entity.FemProperties 5121 return FemPropertyCol(result) if result is not None else None 5122 5123 @property 5124 def ElementSets(self) -> ElementSetCol: 5125 result = self._Entity.ElementSets 5126 return ElementSetCol(result) if result is not None else None
5129class PluginPackage(IdNameEntity): 5130 def __init__(self, pluginPackage: _api.PluginPackage): 5131 self._Entity = pluginPackage 5132 5133 @property 5134 def FilePath(self) -> str: 5135 return self._Entity.FilePath 5136 5137 @property 5138 def Version(self) -> str: 5139 return self._Entity.Version 5140 5141 @property 5142 def Description(self) -> str: 5143 return self._Entity.Description 5144 5145 @property 5146 def ModificationDate(self) -> DateTime: 5147 return self._Entity.ModificationDate
Represents an entity with an ID and Name.
Inherited Members
5150class Ply(IdNameEntity): 5151 def __init__(self, ply: _api.Ply): 5152 self._Entity = ply 5153 5154 @property 5155 def InnerCurves(self) -> list[int]: 5156 return [int32 for int32 in self._Entity.InnerCurves] 5157 5158 @property 5159 def OuterCurves(self) -> list[int]: 5160 return [int32 for int32 in self._Entity.OuterCurves] 5161 5162 @property 5163 def FiberDirectionCurves(self) -> list[int]: 5164 return [int32 for int32 in self._Entity.FiberDirectionCurves] 5165 5166 @property 5167 def Area(self) -> float: 5168 return self._Entity.Area 5169 5170 @property 5171 def Description(self) -> str: 5172 return self._Entity.Description 5173 5174 @property 5175 def Elements(self) -> ElementCol: 5176 result = self._Entity.Elements 5177 return ElementCol(result) if result is not None else None 5178 5179 @property 5180 def MaterialId(self) -> int: 5181 return self._Entity.MaterialId 5182 5183 @property 5184 def Orientation(self) -> int: 5185 return self._Entity.Orientation 5186 5187 @property 5188 def Sequence(self) -> int: 5189 return self._Entity.Sequence 5190 5191 @property 5192 def StructureId(self) -> int: 5193 return self._Entity.StructureId 5194 5195 @property 5196 def Thickness(self) -> float: 5197 return self._Entity.Thickness
Represents an entity with an ID and Name.
Inherited Members
5200class Rundeck(IdEntity): 5201 def __init__(self, rundeck: _api.Rundeck): 5202 self._Entity = rundeck 5203 5204 @property 5205 def InputFilePath(self) -> str: 5206 return self._Entity.InputFilePath 5207 5208 @property 5209 def IsPrimary(self) -> bool: 5210 return self._Entity.IsPrimary 5211 5212 @property 5213 def ResultFilePath(self) -> str: 5214 return self._Entity.ResultFilePath 5215 5216 def SetInputFilePath(self, filepath: str) -> RundeckUpdateStatus: 5217 return RundeckUpdateStatus[self._Entity.SetInputFilePath(filepath).ToString()] 5218 5219 def SetResultFilePath(self, filepath: str) -> RundeckUpdateStatus: 5220 return RundeckUpdateStatus[self._Entity.SetResultFilePath(filepath).ToString()]
Represents an entity with an ID.
5223class RundeckPathPair: 5224 def __init__(self, rundeckPathPair: _api.RundeckPathPair): 5225 self._Entity = rundeckPathPair 5226 5227 @property 5228 def InputFilePath(self) -> str: 5229 return self._Entity.InputFilePath 5230 5231 @property 5232 def ResultFilePath(self) -> str: 5233 return self._Entity.ResultFilePath 5234 5235 @InputFilePath.setter 5236 def InputFilePath(self, value: str) -> None: 5237 self._Entity.InputFilePath = value 5238 5239 @ResultFilePath.setter 5240 def ResultFilePath(self, value: str) -> None: 5241 self._Entity.ResultFilePath = value
5244class BeamLoads: 5245 def __init__(self, beamLoads: _api.BeamLoads): 5246 self._Entity = beamLoads 5247 5248 @property 5249 def AxialForce(self) -> float: 5250 return self._Entity.AxialForce 5251 5252 @property 5253 def MomentX(self) -> float: 5254 return self._Entity.MomentX 5255 5256 @property 5257 def MomentY(self) -> float: 5258 return self._Entity.MomentY 5259 5260 @property 5261 def ShearX(self) -> float: 5262 return self._Entity.ShearX 5263 5264 @property 5265 def ShearY(self) -> float: 5266 return self._Entity.ShearY 5267 5268 @property 5269 def Torque(self) -> float: 5270 return self._Entity.Torque
5273class SectionCut(IdNameEntity): 5274 def __init__(self, sectionCut: _api.SectionCut): 5275 self._Entity = sectionCut 5276 5277 @property 5278 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5279 ''' 5280 Centroid vs Origin 5281 ''' 5282 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()] 5283 5284 @property 5285 def HorizontalVector(self) -> Vector3d: 5286 ''' 5287 Represents a readonly 3D vector. 5288 ''' 5289 result = self._Entity.HorizontalVector 5290 return Vector3d(result) if result is not None else None 5291 5292 @property 5293 def NormalVector(self) -> Vector3d: 5294 ''' 5295 Represents a readonly 3D vector. 5296 ''' 5297 result = self._Entity.NormalVector 5298 return Vector3d(result) if result is not None else None 5299 5300 @property 5301 def OriginVector(self) -> Vector3d: 5302 ''' 5303 Represents a readonly 3D vector. 5304 ''' 5305 result = self._Entity.OriginVector 5306 return Vector3d(result) if result is not None else None 5307 5308 @property 5309 def VerticalVector(self) -> Vector3d: 5310 ''' 5311 Represents a readonly 3D vector. 5312 ''' 5313 result = self._Entity.VerticalVector 5314 return Vector3d(result) if result is not None else None 5315 5316 @property 5317 def MaxAngleBound(self) -> float: 5318 return self._Entity.MaxAngleBound 5319 5320 @property 5321 def MinAngleBound(self) -> float: 5322 return self._Entity.MinAngleBound 5323 5324 @property 5325 def MinStiffnessEihh(self) -> float: 5326 return self._Entity.MinStiffnessEihh 5327 5328 @property 5329 def MinStiffnessEivv(self) -> float: 5330 return self._Entity.MinStiffnessEivv 5331 5332 @property 5333 def MinStiffnessGJ(self) -> float: 5334 return self._Entity.MinStiffnessGJ 5335 5336 @property 5337 def ZoneStiffnessDistribution(self) -> float: 5338 return self._Entity.ZoneStiffnessDistribution 5339 5340 @property 5341 def CN_hmax(self) -> float: 5342 return self._Entity.CN_hmax 5343 5344 @property 5345 def CN_hmin(self) -> float: 5346 return self._Entity.CN_hmin 5347 5348 @property 5349 def CN_vmax(self) -> float: 5350 return self._Entity.CN_vmax 5351 5352 @property 5353 def CN_vmin(self) -> float: 5354 return self._Entity.CN_vmin 5355 5356 @property 5357 def CQ_hmax(self) -> float: 5358 return self._Entity.CQ_hmax 5359 5360 @property 5361 def CQ_hmin(self) -> float: 5362 return self._Entity.CQ_hmin 5363 5364 @property 5365 def CQ_vmax(self) -> float: 5366 return self._Entity.CQ_vmax 5367 5368 @property 5369 def CQ_vmin(self) -> float: 5370 return self._Entity.CQ_vmin 5371 5372 @property 5373 def CG(self) -> Vector2d: 5374 ''' 5375 Represents a readonly 2D vector. 5376 ''' 5377 result = self._Entity.CG 5378 return Vector2d(result) if result is not None else None 5379 5380 @property 5381 def CN(self) -> Vector2d: 5382 ''' 5383 Represents a readonly 2D vector. 5384 ''' 5385 result = self._Entity.CN 5386 return Vector2d(result) if result is not None else None 5387 5388 @property 5389 def CQ(self) -> Vector2d: 5390 ''' 5391 Represents a readonly 2D vector. 5392 ''' 5393 result = self._Entity.CQ 5394 return Vector2d(result) if result is not None else None 5395 5396 @property 5397 def EnclosedArea(self) -> float: 5398 return self._Entity.EnclosedArea 5399 5400 @property 5401 def NumberOfCells(self) -> int: 5402 return self._Entity.NumberOfCells 5403 5404 @property 5405 def EIhh(self) -> float: 5406 return self._Entity.EIhh 5407 5408 @property 5409 def EIhv(self) -> float: 5410 return self._Entity.EIhv 5411 5412 @property 5413 def EIvv(self) -> float: 5414 return self._Entity.EIvv 5415 5416 @property 5417 def GJ(self) -> float: 5418 return self._Entity.GJ 5419 5420 @property 5421 def EA(self) -> float: 5422 return self._Entity.EA 5423 5424 @property 5425 def EImax(self) -> float: 5426 return self._Entity.EImax 5427 5428 @property 5429 def EImin(self) -> float: 5430 return self._Entity.EImin 5431 5432 @property 5433 def PrincipalAngle(self) -> float: 5434 return self._Entity.PrincipalAngle 5435 5436 @property 5437 def Elements(self) -> ElementCol: 5438 result = self._Entity.Elements 5439 return ElementCol(result) if result is not None else None 5440 5441 @property 5442 def PlateElements(self) -> ElementCol: 5443 result = self._Entity.PlateElements 5444 return ElementCol(result) if result is not None else None 5445 5446 @property 5447 def BeamElements(self) -> ElementCol: 5448 result = self._Entity.BeamElements 5449 return ElementCol(result) if result is not None else None 5450 5451 @ReferencePoint.setter 5452 def ReferencePoint(self, value: types.SectionCutPropertyLocation) -> None: 5453 self._Entity.ReferencePoint = _types.SectionCutPropertyLocation(value.value) 5454 5455 @MaxAngleBound.setter 5456 def MaxAngleBound(self, value: float) -> None: 5457 self._Entity.MaxAngleBound = value 5458 5459 @MinAngleBound.setter 5460 def MinAngleBound(self, value: float) -> None: 5461 self._Entity.MinAngleBound = value 5462 5463 @MinStiffnessEihh.setter 5464 def MinStiffnessEihh(self, value: float) -> None: 5465 self._Entity.MinStiffnessEihh = value 5466 5467 @MinStiffnessEivv.setter 5468 def MinStiffnessEivv(self, value: float) -> None: 5469 self._Entity.MinStiffnessEivv = value 5470 5471 @MinStiffnessGJ.setter 5472 def MinStiffnessGJ(self, value: float) -> None: 5473 self._Entity.MinStiffnessGJ = value 5474 5475 @ZoneStiffnessDistribution.setter 5476 def ZoneStiffnessDistribution(self, value: float) -> None: 5477 self._Entity.ZoneStiffnessDistribution = value 5478 5479 @CN_hmax.setter 5480 def CN_hmax(self, value: float) -> None: 5481 self._Entity.CN_hmax = value 5482 5483 @CN_hmin.setter 5484 def CN_hmin(self, value: float) -> None: 5485 self._Entity.CN_hmin = value 5486 5487 @CN_vmax.setter 5488 def CN_vmax(self, value: float) -> None: 5489 self._Entity.CN_vmax = value 5490 5491 @CN_vmin.setter 5492 def CN_vmin(self, value: float) -> None: 5493 self._Entity.CN_vmin = value 5494 5495 @CQ_hmax.setter 5496 def CQ_hmax(self, value: float) -> None: 5497 self._Entity.CQ_hmax = value 5498 5499 @CQ_hmin.setter 5500 def CQ_hmin(self, value: float) -> None: 5501 self._Entity.CQ_hmin = value 5502 5503 @CQ_vmax.setter 5504 def CQ_vmax(self, value: float) -> None: 5505 self._Entity.CQ_vmax = value 5506 5507 @CQ_vmin.setter 5508 def CQ_vmin(self, value: float) -> None: 5509 self._Entity.CQ_vmin = value 5510 5511 def AlignToHorizontalPrincipalAxes(self) -> None: 5512 ''' 5513 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5514 ''' 5515 return self._Entity.AlignToHorizontalPrincipalAxes() 5516 5517 def AlignToVerticalPrincipalAxes(self) -> None: 5518 ''' 5519 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5520 ''' 5521 return self._Entity.AlignToVerticalPrincipalAxes() 5522 5523 def SetHorizontalVector(self, vector: Vector3d) -> None: 5524 return self._Entity.SetHorizontalVector(vector._Entity) 5525 5526 def SetNormalVector(self, vector: Vector3d) -> None: 5527 return self._Entity.SetNormalVector(vector._Entity) 5528 5529 def SetOrigin(self, vector: Vector3d) -> None: 5530 return self._Entity.SetOrigin(vector._Entity) 5531 5532 def GetBeamLoads(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> BeamLoads: 5533 return BeamLoads(self._Entity.GetBeamLoads(loadCaseId, _types.LoadSubCaseFactor(factor.value))) 5534 5535 def InclinationAngle(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5536 return self._Entity.InclinationAngle(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5537 5538 def HorizontalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5539 return self._Entity.HorizontalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5540 5541 def VerticalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5542 return self._Entity.VerticalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5543 5544 def SetElements(self, elements: list[int]) -> bool: 5545 elementsList = MakeCSharpIntList(elements) 5546 return self._Entity.SetElements(elementsList)
Represents an entity with an ID and Name.
5277 @property 5278 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5279 ''' 5280 Centroid vs Origin 5281 ''' 5282 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()]
Centroid vs Origin
5284 @property 5285 def HorizontalVector(self) -> Vector3d: 5286 ''' 5287 Represents a readonly 3D vector. 5288 ''' 5289 result = self._Entity.HorizontalVector 5290 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5292 @property 5293 def NormalVector(self) -> Vector3d: 5294 ''' 5295 Represents a readonly 3D vector. 5296 ''' 5297 result = self._Entity.NormalVector 5298 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5300 @property 5301 def OriginVector(self) -> Vector3d: 5302 ''' 5303 Represents a readonly 3D vector. 5304 ''' 5305 result = self._Entity.OriginVector 5306 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5308 @property 5309 def VerticalVector(self) -> Vector3d: 5310 ''' 5311 Represents a readonly 3D vector. 5312 ''' 5313 result = self._Entity.VerticalVector 5314 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5372 @property 5373 def CG(self) -> Vector2d: 5374 ''' 5375 Represents a readonly 2D vector. 5376 ''' 5377 result = self._Entity.CG 5378 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5380 @property 5381 def CN(self) -> Vector2d: 5382 ''' 5383 Represents a readonly 2D vector. 5384 ''' 5385 result = self._Entity.CN 5386 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5388 @property 5389 def CQ(self) -> Vector2d: 5390 ''' 5391 Represents a readonly 2D vector. 5392 ''' 5393 result = self._Entity.CQ 5394 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5511 def AlignToHorizontalPrincipalAxes(self) -> None: 5512 ''' 5513 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5514 ''' 5515 return self._Entity.AlignToHorizontalPrincipalAxes()
Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector.
5517 def AlignToVerticalPrincipalAxes(self) -> None: 5518 ''' 5519 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5520 ''' 5521 return self._Entity.AlignToVerticalPrincipalAxes()
Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector.
Inherited Members
5549class Set(ZoneJointContainer): 5550 def __init__(self, set: _api.Set): 5551 self._Entity = set 5552 5553 @property 5554 def Joints(self) -> JointCol: 5555 result = self._Entity.Joints 5556 return JointCol(result) if result is not None else None 5557 5558 @property 5559 def PanelSegments(self) -> PanelSegmentCol: 5560 result = self._Entity.PanelSegments 5561 return PanelSegmentCol(result) if result is not None else None 5562 5563 @property 5564 def Zones(self) -> ZoneCol: 5565 result = self._Entity.Zones 5566 return ZoneCol(result) if result is not None else None 5567 5568 @overload 5569 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5570 5571 @overload 5572 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5573 5574 @overload 5575 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5576 5577 @overload 5578 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5579 5580 @overload 5581 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5582 5583 @overload 5584 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5585 5586 @overload 5587 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5588 5589 @overload 5590 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5591 5592 @overload 5593 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5594 5595 @overload 5596 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5597 5598 @overload 5599 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5600 5601 @overload 5602 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5603 5604 @overload 5605 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5606 5607 @overload 5608 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5609 5610 @overload 5611 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5612 5613 @overload 5614 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5615 5616 @overload 5617 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5618 5619 @overload 5620 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5621 5622 @overload 5623 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5624 5625 @overload 5626 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5627 5628 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5629 if isinstance(item1, Joint): 5630 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5631 5632 if isinstance(item1, int): 5633 return CollectionModificationStatus(super().AddJoint(item1)) 5634 5635 return self._Entity.AddJoint(item1._Entity) 5636 5637 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5638 if isinstance(item1, PanelSegment): 5639 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5640 5641 if isinstance(item1, int): 5642 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5643 5644 return self._Entity.AddPanelSegment(item1._Entity) 5645 5646 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5647 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5648 zonesList = List[_api.Zone]() 5649 if item1 is not None: 5650 for thing in item1: 5651 if thing is not None: 5652 zonesList.Add(thing._Entity) 5653 zonesEnumerable = IEnumerable(zonesList) 5654 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5655 5656 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5657 return CollectionModificationStatus(super().AddZones(item1)) 5658 5659 return self._Entity.AddZones(item1) 5660 5661 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5662 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5663 jointIdsList = MakeCSharpIntList(item1) 5664 jointIdsEnumerable = IEnumerable(jointIdsList) 5665 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5666 5667 if isinstance(item1, JointCol): 5668 return CollectionModificationStatus(super().RemoveJoints(item1)) 5669 5670 return self._Entity.RemoveJoints(item1) 5671 5672 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5673 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5674 segmentIdsList = MakeCSharpIntList(item1) 5675 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5676 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5677 5678 if isinstance(item1, PanelSegmentCol): 5679 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5680 5681 return self._Entity.RemovePanelSegments(item1) 5682 5683 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5684 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5685 zoneIdsList = MakeCSharpIntList(item1) 5686 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5687 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5688 5689 if isinstance(item1, ZoneCol): 5690 return CollectionModificationStatus(super().RemoveZones(item1)) 5691 5692 return self._Entity.RemoveZones(item1) 5693 5694 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5695 if isinstance(item1, int): 5696 return CollectionModificationStatus(super().RemoveJoint(item1)) 5697 5698 if isinstance(item1, Joint): 5699 return CollectionModificationStatus(super().RemoveJoint(item1)) 5700 5701 return self._Entity.RemoveJoint(item1) 5702 5703 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5704 if isinstance(item1, int): 5705 return CollectionModificationStatus(super().AddZone(item1)) 5706 5707 if isinstance(item1, Zone): 5708 return CollectionModificationStatus(super().AddZone(item1)) 5709 5710 return self._Entity.AddZone(item1) 5711 5712 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5713 if isinstance(item1, int): 5714 return CollectionModificationStatus(super().RemoveZone(item1)) 5715 5716 if isinstance(item1, Zone): 5717 return CollectionModificationStatus(super().RemoveZone(item1)) 5718 5719 return self._Entity.RemoveZone(item1) 5720 5721 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5722 if isinstance(item1, int): 5723 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5724 5725 if isinstance(item1, PanelSegment): 5726 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5727 5728 return self._Entity.RemovePanelSegment(item1)
Represents an entity that contains a collection of Zones and Joints.
5628 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5629 if isinstance(item1, Joint): 5630 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5631 5632 if isinstance(item1, int): 5633 return CollectionModificationStatus(super().AddJoint(item1)) 5634 5635 return self._Entity.AddJoint(item1._Entity)
5637 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5638 if isinstance(item1, PanelSegment): 5639 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5640 5641 if isinstance(item1, int): 5642 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5643 5644 return self._Entity.AddPanelSegment(item1._Entity)
5646 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5647 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5648 zonesList = List[_api.Zone]() 5649 if item1 is not None: 5650 for thing in item1: 5651 if thing is not None: 5652 zonesList.Add(thing._Entity) 5653 zonesEnumerable = IEnumerable(zonesList) 5654 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5655 5656 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5657 return CollectionModificationStatus(super().AddZones(item1)) 5658 5659 return self._Entity.AddZones(item1)
5661 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5662 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5663 jointIdsList = MakeCSharpIntList(item1) 5664 jointIdsEnumerable = IEnumerable(jointIdsList) 5665 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5666 5667 if isinstance(item1, JointCol): 5668 return CollectionModificationStatus(super().RemoveJoints(item1)) 5669 5670 return self._Entity.RemoveJoints(item1)
5672 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5673 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5674 segmentIdsList = MakeCSharpIntList(item1) 5675 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5676 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5677 5678 if isinstance(item1, PanelSegmentCol): 5679 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5680 5681 return self._Entity.RemovePanelSegments(item1)
5683 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5684 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5685 zoneIdsList = MakeCSharpIntList(item1) 5686 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5687 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5688 5689 if isinstance(item1, ZoneCol): 5690 return CollectionModificationStatus(super().RemoveZones(item1)) 5691 5692 return self._Entity.RemoveZones(item1)
5694 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5695 if isinstance(item1, int): 5696 return CollectionModificationStatus(super().RemoveJoint(item1)) 5697 5698 if isinstance(item1, Joint): 5699 return CollectionModificationStatus(super().RemoveJoint(item1)) 5700 5701 return self._Entity.RemoveJoint(item1)
5703 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5704 if isinstance(item1, int): 5705 return CollectionModificationStatus(super().AddZone(item1)) 5706 5707 if isinstance(item1, Zone): 5708 return CollectionModificationStatus(super().AddZone(item1)) 5709 5710 return self._Entity.AddZone(item1)
5712 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5713 if isinstance(item1, int): 5714 return CollectionModificationStatus(super().RemoveZone(item1)) 5715 5716 if isinstance(item1, Zone): 5717 return CollectionModificationStatus(super().RemoveZone(item1)) 5718 5719 return self._Entity.RemoveZone(item1)
5721 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5722 if isinstance(item1, int): 5723 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5724 5725 if isinstance(item1, PanelSegment): 5726 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5727 5728 return self._Entity.RemovePanelSegment(item1)
5731class PlyCol(IdNameEntityCol[Ply]): 5732 def __init__(self, plyCol: _api.PlyCol): 5733 self._Entity = plyCol 5734 self._CollectedClass = Ply 5735 5736 @property 5737 def PlyColList(self) -> tuple[Ply]: 5738 return tuple([Ply(plyCol) for plyCol in self._Entity]) 5739 5740 def Delete(self, id: int) -> CollectionModificationStatus: 5741 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 5742 5743 def DeleteAll(self) -> None: 5744 ''' 5745 Delete all plies in the collection. 5746 ''' 5747 return self._Entity.DeleteAll() 5748 5749 def ExportToCSV(self, filepath: str) -> None: 5750 return self._Entity.ExportToCSV(filepath) 5751 5752 def ImportCSV(self, filepath: str) -> None: 5753 return self._Entity.ImportCSV(filepath) 5754 5755 @overload 5756 def Get(self, name: str) -> Ply: ... 5757 5758 @overload 5759 def Get(self, id: int) -> Ply: ... 5760 5761 def Get(self, item1 = None) -> Ply: 5762 if isinstance(item1, str): 5763 return Ply(super().Get(item1)) 5764 5765 if isinstance(item1, int): 5766 return Ply(super().Get(item1)) 5767 5768 return self._Entity.Get(item1) 5769 5770 def __getitem__(self, index: int): 5771 return self.PlyColList[index] 5772 5773 def __iter__(self): 5774 yield from self.PlyColList 5775 5776 def __len__(self): 5777 return len(self.PlyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
5743 def DeleteAll(self) -> None: 5744 ''' 5745 Delete all plies in the collection. 5746 ''' 5747 return self._Entity.DeleteAll()
Delete all plies in the collection.
Inherited Members
5780class Structure(ZoneJointContainer): 5781 def __init__(self, structure: _api.Structure): 5782 self._Entity = structure 5783 5784 @property 5785 def Plies(self) -> PlyCol: 5786 result = self._Entity.Plies 5787 return PlyCol(result) if result is not None else None 5788 5789 @property 5790 def Joints(self) -> JointCol: 5791 result = self._Entity.Joints 5792 return JointCol(result) if result is not None else None 5793 5794 @property 5795 def PanelSegments(self) -> PanelSegmentCol: 5796 result = self._Entity.PanelSegments 5797 return PanelSegmentCol(result) if result is not None else None 5798 5799 @property 5800 def Zones(self) -> ZoneCol: 5801 result = self._Entity.Zones 5802 return ZoneCol(result) if result is not None else None 5803 5804 def ExportVCP(self, fileName: str) -> None: 5805 return self._Entity.ExportVCP(fileName) 5806 5807 def AddElements(self, elementIds: tuple[int]) -> CollectionModificationStatus: 5808 elementIdsList = MakeCSharpIntList(elementIds) 5809 elementIdsEnumerable = IEnumerable(elementIdsList) 5810 return CollectionModificationStatus[self._Entity.AddElements(elementIdsEnumerable).ToString()] 5811 5812 @overload 5813 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5814 5815 @overload 5816 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5817 5818 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 5819 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 5820 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 5821 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()] 5822 5823 @overload 5824 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5825 5826 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 5827 elementIdsList = MakeCSharpIntList(elementIds) 5828 elementIdsEnumerable = IEnumerable(elementIdsList) 5829 result = self._Entity.CreateZone(elementIdsEnumerable, name) 5830 thisClass = type(result).__name__ 5831 givenClass = Zone 5832 for subclass in Zone.__subclasses__(): 5833 if subclass.__name__ == thisClass: 5834 givenClass = subclass 5835 return givenClass(result) 5836 5837 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 5838 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 5839 for kvp in discreteElementLkp: 5840 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 5841 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name)) 5842 5843 @overload 5844 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int]) -> CollectionModificationStatus: ... 5845 5846 @overload 5847 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int], panelSegmentIds: tuple[int]) -> CollectionModificationStatus: ... 5848 5849 @overload 5850 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5851 5852 @overload 5853 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5854 5855 @overload 5856 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5857 5858 @overload 5859 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5860 5861 @overload 5862 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5863 5864 @overload 5865 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5866 5867 @overload 5868 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5869 5870 @overload 5871 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5872 5873 @overload 5874 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5875 5876 @overload 5877 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5878 5879 @overload 5880 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5881 5882 @overload 5883 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5884 5885 @overload 5886 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5887 5888 @overload 5889 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5890 5891 @overload 5892 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5893 5894 @overload 5895 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5896 5897 @overload 5898 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5899 5900 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5901 if isinstance(item1, Joint): 5902 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5903 5904 if isinstance(item1, int): 5905 return CollectionModificationStatus(super().AddJoint(item1)) 5906 5907 return self._Entity.AddJoint(item1._Entity) 5908 5909 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5910 if isinstance(item1, PanelSegment): 5911 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5912 5913 if isinstance(item1, int): 5914 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5915 5916 return self._Entity.AddPanelSegment(item1._Entity) 5917 5918 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5919 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5920 zonesList = List[_api.Zone]() 5921 if item1 is not None: 5922 for thing in item1: 5923 if thing is not None: 5924 zonesList.Add(thing._Entity) 5925 zonesEnumerable = IEnumerable(zonesList) 5926 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5927 5928 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5929 return CollectionModificationStatus(super().AddZones(item1)) 5930 5931 return self._Entity.AddZones(item1) 5932 5933 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 5934 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int) and isinstance(item3, tuple) and len(item3) > 0 and isinstance(item3[0], int): 5935 zoneIdsList = MakeCSharpIntList(item1) 5936 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5937 jointIdsList = MakeCSharpIntList(item2) 5938 jointIdsEnumerable = IEnumerable(jointIdsList) 5939 panelSegmentIdsList = MakeCSharpIntList(item3) 5940 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 5941 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 5942 5943 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int): 5944 zoneIdsList = MakeCSharpIntList(item1) 5945 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5946 jointIdsList = MakeCSharpIntList(item2) 5947 jointIdsEnumerable = IEnumerable(jointIdsList) 5948 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 5949 5950 return self._Entity.Remove(item1, item2, item3) 5951 5952 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5953 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5954 jointIdsList = MakeCSharpIntList(item1) 5955 jointIdsEnumerable = IEnumerable(jointIdsList) 5956 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5957 5958 if isinstance(item1, JointCol): 5959 return CollectionModificationStatus(super().RemoveJoints(item1)) 5960 5961 return self._Entity.RemoveJoints(item1) 5962 5963 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5964 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5965 segmentIdsList = MakeCSharpIntList(item1) 5966 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5967 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5968 5969 if isinstance(item1, PanelSegmentCol): 5970 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5971 5972 return self._Entity.RemovePanelSegments(item1) 5973 5974 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5975 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5976 zoneIdsList = MakeCSharpIntList(item1) 5977 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5978 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5979 5980 if isinstance(item1, ZoneCol): 5981 return CollectionModificationStatus(super().RemoveZones(item1)) 5982 5983 return self._Entity.RemoveZones(item1) 5984 5985 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5986 if isinstance(item1, int): 5987 return CollectionModificationStatus(super().RemoveJoint(item1)) 5988 5989 if isinstance(item1, Joint): 5990 return CollectionModificationStatus(super().RemoveJoint(item1)) 5991 5992 return self._Entity.RemoveJoint(item1) 5993 5994 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5995 if isinstance(item1, int): 5996 return CollectionModificationStatus(super().AddZone(item1)) 5997 5998 if isinstance(item1, Zone): 5999 return CollectionModificationStatus(super().AddZone(item1)) 6000 6001 return self._Entity.AddZone(item1) 6002 6003 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6004 if isinstance(item1, int): 6005 return CollectionModificationStatus(super().RemoveZone(item1)) 6006 6007 if isinstance(item1, Zone): 6008 return CollectionModificationStatus(super().RemoveZone(item1)) 6009 6010 return self._Entity.RemoveZone(item1) 6011 6012 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6013 if isinstance(item1, int): 6014 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6015 6016 if isinstance(item1, PanelSegment): 6017 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6018 6019 return self._Entity.RemovePanelSegment(item1)
Represents an entity that contains a collection of Zones and Joints.
5900 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5901 if isinstance(item1, Joint): 5902 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5903 5904 if isinstance(item1, int): 5905 return CollectionModificationStatus(super().AddJoint(item1)) 5906 5907 return self._Entity.AddJoint(item1._Entity)
5909 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5910 if isinstance(item1, PanelSegment): 5911 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5912 5913 if isinstance(item1, int): 5914 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5915 5916 return self._Entity.AddPanelSegment(item1._Entity)
5818 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 5819 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 5820 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 5821 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()]
5918 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5919 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], Zone): 5920 zonesList = List[_api.Zone]() 5921 if item1 is not None: 5922 for thing in item1: 5923 if thing is not None: 5924 zonesList.Add(thing._Entity) 5925 zonesEnumerable = IEnumerable(zonesList) 5926 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5927 5928 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5929 return CollectionModificationStatus(super().AddZones(item1)) 5930 5931 return self._Entity.AddZones(item1)
5826 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 5827 elementIdsList = MakeCSharpIntList(elementIds) 5828 elementIdsEnumerable = IEnumerable(elementIdsList) 5829 result = self._Entity.CreateZone(elementIdsEnumerable, name) 5830 thisClass = type(result).__name__ 5831 givenClass = Zone 5832 for subclass in Zone.__subclasses__(): 5833 if subclass.__name__ == thisClass: 5834 givenClass = subclass 5835 return givenClass(result)
5837 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 5838 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 5839 for kvp in discreteElementLkp: 5840 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 5841 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name))
5933 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 5934 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int) and isinstance(item3, tuple) and len(item3) > 0 and isinstance(item3[0], int): 5935 zoneIdsList = MakeCSharpIntList(item1) 5936 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5937 jointIdsList = MakeCSharpIntList(item2) 5938 jointIdsEnumerable = IEnumerable(jointIdsList) 5939 panelSegmentIdsList = MakeCSharpIntList(item3) 5940 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 5941 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 5942 5943 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, tuple) and len(item2) > 0 and isinstance(item2[0], int): 5944 zoneIdsList = MakeCSharpIntList(item1) 5945 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5946 jointIdsList = MakeCSharpIntList(item2) 5947 jointIdsEnumerable = IEnumerable(jointIdsList) 5948 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 5949 5950 return self._Entity.Remove(item1, item2, item3)
5952 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5953 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5954 jointIdsList = MakeCSharpIntList(item1) 5955 jointIdsEnumerable = IEnumerable(jointIdsList) 5956 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5957 5958 if isinstance(item1, JointCol): 5959 return CollectionModificationStatus(super().RemoveJoints(item1)) 5960 5961 return self._Entity.RemoveJoints(item1)
5963 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5964 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5965 segmentIdsList = MakeCSharpIntList(item1) 5966 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5967 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5968 5969 if isinstance(item1, PanelSegmentCol): 5970 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5971 5972 return self._Entity.RemovePanelSegments(item1)
5974 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5975 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int): 5976 zoneIdsList = MakeCSharpIntList(item1) 5977 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5978 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5979 5980 if isinstance(item1, ZoneCol): 5981 return CollectionModificationStatus(super().RemoveZones(item1)) 5982 5983 return self._Entity.RemoveZones(item1)
5985 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5986 if isinstance(item1, int): 5987 return CollectionModificationStatus(super().RemoveJoint(item1)) 5988 5989 if isinstance(item1, Joint): 5990 return CollectionModificationStatus(super().RemoveJoint(item1)) 5991 5992 return self._Entity.RemoveJoint(item1)
5994 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5995 if isinstance(item1, int): 5996 return CollectionModificationStatus(super().AddZone(item1)) 5997 5998 if isinstance(item1, Zone): 5999 return CollectionModificationStatus(super().AddZone(item1)) 6000 6001 return self._Entity.AddZone(item1)
6003 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6004 if isinstance(item1, int): 6005 return CollectionModificationStatus(super().RemoveZone(item1)) 6006 6007 if isinstance(item1, Zone): 6008 return CollectionModificationStatus(super().RemoveZone(item1)) 6009 6010 return self._Entity.RemoveZone(item1)
6012 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6013 if isinstance(item1, int): 6014 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6015 6016 if isinstance(item1, PanelSegment): 6017 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6018 6019 return self._Entity.RemovePanelSegment(item1)
6022class AnalysisPropertyCol(IdNameEntityCol[AnalysisProperty]): 6023 def __init__(self, analysisPropertyCol: _api.AnalysisPropertyCol): 6024 self._Entity = analysisPropertyCol 6025 self._CollectedClass = AnalysisProperty 6026 6027 @property 6028 def AnalysisPropertyColList(self) -> tuple[AnalysisProperty]: 6029 return tuple([AnalysisProperty(analysisPropertyCol) for analysisPropertyCol in self._Entity]) 6030 6031 def CreateAnalysisProperty(self, type: types.FamilyCategory, name: str = None) -> AnalysisProperty: 6032 return AnalysisProperty(self._Entity.CreateAnalysisProperty(_types.FamilyCategory(type.value), name)) 6033 6034 @overload 6035 def DeleteAnalysisProperty(self, name: str) -> bool: ... 6036 6037 @overload 6038 def DeleteAnalysisProperty(self, id: int) -> bool: ... 6039 6040 @overload 6041 def Get(self, name: str) -> AnalysisProperty: ... 6042 6043 @overload 6044 def Get(self, id: int) -> AnalysisProperty: ... 6045 6046 def DeleteAnalysisProperty(self, item1 = None) -> bool: 6047 if isinstance(item1, str): 6048 return self._Entity.DeleteAnalysisProperty(item1) 6049 6050 if isinstance(item1, int): 6051 return self._Entity.DeleteAnalysisProperty(item1) 6052 6053 return self._Entity.DeleteAnalysisProperty(item1) 6054 6055 def Get(self, item1 = None) -> AnalysisProperty: 6056 if isinstance(item1, str): 6057 return AnalysisProperty(super().Get(item1)) 6058 6059 if isinstance(item1, int): 6060 return AnalysisProperty(super().Get(item1)) 6061 6062 return self._Entity.Get(item1) 6063 6064 def __getitem__(self, index: int): 6065 return self.AnalysisPropertyColList[index] 6066 6067 def __iter__(self): 6068 yield from self.AnalysisPropertyColList 6069 6070 def __len__(self): 6071 return len(self.AnalysisPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6074class DesignPropertyCol(IdNameEntityCol[DesignProperty]): 6075 def __init__(self, designPropertyCol: _api.DesignPropertyCol): 6076 self._Entity = designPropertyCol 6077 self._CollectedClass = DesignProperty 6078 6079 @property 6080 def DesignPropertyColList(self) -> tuple[DesignProperty]: 6081 return tuple([DesignProperty(designPropertyCol) for designPropertyCol in self._Entity]) 6082 6083 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6084 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6085 thisClass = type(result).__name__ 6086 givenClass = DesignProperty 6087 for subclass in DesignProperty.__subclasses__(): 6088 if subclass.__name__ == thisClass: 6089 givenClass = subclass 6090 return givenClass(result) 6091 6092 @overload 6093 def Get(self, name: str) -> DesignProperty: ... 6094 6095 @overload 6096 def Get(self, id: int) -> DesignProperty: ... 6097 6098 def Get(self, item1 = None) -> DesignProperty: 6099 if isinstance(item1, str): 6100 return DesignProperty(super().Get(item1)) 6101 6102 if isinstance(item1, int): 6103 return DesignProperty(super().Get(item1)) 6104 6105 return self._Entity.Get(item1) 6106 6107 def __getitem__(self, index: int): 6108 return self.DesignPropertyColList[index] 6109 6110 def __iter__(self): 6111 yield from self.DesignPropertyColList 6112 6113 def __len__(self): 6114 return len(self.DesignPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6083 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6084 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6085 thisClass = type(result).__name__ 6086 givenClass = DesignProperty 6087 for subclass in DesignProperty.__subclasses__(): 6088 if subclass.__name__ == thisClass: 6089 givenClass = subclass 6090 return givenClass(result)
Inherited Members
6117class LoadPropertyCol(IdNameEntityCol[LoadProperty]): 6118 def __init__(self, loadPropertyCol: _api.LoadPropertyCol): 6119 self._Entity = loadPropertyCol 6120 self._CollectedClass = LoadProperty 6121 6122 @property 6123 def LoadPropertyColList(self) -> tuple[LoadProperty]: 6124 return tuple([LoadProperty(loadPropertyCol) for loadPropertyCol in self._Entity]) 6125 6126 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6127 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6128 thisClass = type(result).__name__ 6129 givenClass = LoadProperty 6130 for subclass in LoadProperty.__subclasses__(): 6131 if subclass.__name__ == thisClass: 6132 givenClass = subclass 6133 return givenClass(result) 6134 6135 @overload 6136 def DeleteLoadProperty(self, id: int) -> bool: ... 6137 6138 @overload 6139 def DeleteLoadProperty(self, name: str) -> bool: ... 6140 6141 @overload 6142 def Get(self, name: str) -> LoadProperty: ... 6143 6144 @overload 6145 def Get(self, id: int) -> LoadProperty: ... 6146 6147 def DeleteLoadProperty(self, item1 = None) -> bool: 6148 if isinstance(item1, int): 6149 return self._Entity.DeleteLoadProperty(item1) 6150 6151 if isinstance(item1, str): 6152 return self._Entity.DeleteLoadProperty(item1) 6153 6154 return self._Entity.DeleteLoadProperty(item1) 6155 6156 def Get(self, item1 = None) -> LoadProperty: 6157 if isinstance(item1, str): 6158 return LoadProperty(super().Get(item1)) 6159 6160 if isinstance(item1, int): 6161 return LoadProperty(super().Get(item1)) 6162 6163 return self._Entity.Get(item1) 6164 6165 def __getitem__(self, index: int): 6166 return self.LoadPropertyColList[index] 6167 6168 def __iter__(self): 6169 yield from self.LoadPropertyColList 6170 6171 def __len__(self): 6172 return len(self.LoadPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6126 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6127 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6128 thisClass = type(result).__name__ 6129 givenClass = LoadProperty 6130 for subclass in LoadProperty.__subclasses__(): 6131 if subclass.__name__ == thisClass: 6132 givenClass = subclass 6133 return givenClass(result)
Inherited Members
6175class DesignLoadCol(IdNameEntityCol[DesignLoad]): 6176 def __init__(self, designLoadCol: _api.DesignLoadCol): 6177 self._Entity = designLoadCol 6178 self._CollectedClass = DesignLoad 6179 6180 @property 6181 def DesignLoadColList(self) -> tuple[DesignLoad]: 6182 return tuple([DesignLoad(designLoadCol) for designLoadCol in self._Entity]) 6183 6184 @overload 6185 def Get(self, name: str) -> DesignLoad: ... 6186 6187 @overload 6188 def Get(self, id: int) -> DesignLoad: ... 6189 6190 def Get(self, item1 = None) -> DesignLoad: 6191 if isinstance(item1, str): 6192 return DesignLoad(super().Get(item1)) 6193 6194 if isinstance(item1, int): 6195 return DesignLoad(super().Get(item1)) 6196 6197 return self._Entity.Get(item1) 6198 6199 def __getitem__(self, index: int): 6200 return self.DesignLoadColList[index] 6201 6202 def __iter__(self): 6203 yield from self.DesignLoadColList 6204 6205 def __len__(self): 6206 return len(self.DesignLoadColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6209class DiscreteFieldCol(IdNameEntityCol[DiscreteField]): 6210 def __init__(self, discreteFieldCol: _api.DiscreteFieldCol): 6211 self._Entity = discreteFieldCol 6212 self._CollectedClass = DiscreteField 6213 6214 @property 6215 def DiscreteFieldColList(self) -> tuple[DiscreteField]: 6216 return tuple([DiscreteField(discreteFieldCol) for discreteFieldCol in self._Entity]) 6217 6218 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6219 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name)) 6220 6221 def CreateFromVCP(self, filepath: str) -> list[DiscreteField]: 6222 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateFromVCP(filepath)] 6223 6224 def Delete(self, id: int) -> CollectionModificationStatus: 6225 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6226 6227 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6228 elementIdsList = MakeCSharpIntList(elementIds) 6229 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6230 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)] 6231 6232 @overload 6233 def Get(self, name: str) -> DiscreteField: ... 6234 6235 @overload 6236 def Get(self, id: int) -> DiscreteField: ... 6237 6238 def Get(self, item1 = None) -> DiscreteField: 6239 if isinstance(item1, str): 6240 return DiscreteField(super().Get(item1)) 6241 6242 if isinstance(item1, int): 6243 return DiscreteField(super().Get(item1)) 6244 6245 return self._Entity.Get(item1) 6246 6247 def __getitem__(self, index: int): 6248 return self.DiscreteFieldColList[index] 6249 6250 def __iter__(self): 6251 yield from self.DiscreteFieldColList 6252 6253 def __len__(self): 6254 return len(self.DiscreteFieldColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6218 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6219 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name))
6227 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6228 elementIdsList = MakeCSharpIntList(elementIds) 6229 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6230 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)]
Inherited Members
6257class ZoneJointContainerCol(IdNameEntityCol, Generic[T]): 6258 def __init__(self, zoneJointContainerCol: _api.ZoneJointContainerCol): 6259 self._Entity = zoneJointContainerCol 6260 self._CollectedClass = T 6261 6262 @property 6263 def ZoneJointContainerColList(self) -> tuple[T]: 6264 if self._Entity.Count() <= 0: 6265 return () 6266 thisClass = type(self._Entity._items[0]).__name__ 6267 givenClass = T 6268 for subclass in T.__subclasses__(): 6269 if subclass.__name__ == thisClass: 6270 givenClass = subclass 6271 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity]) 6272 6273 @abstractmethod 6274 def Create(self, name: str) -> T: 6275 return self._Entity.Create(name) 6276 6277 @overload 6278 def Get(self, name: str) -> T: ... 6279 6280 @overload 6281 def Get(self, id: int) -> T: ... 6282 6283 def Get(self, item1 = None) -> T: 6284 if isinstance(item1, str): 6285 return super().Get(item1) 6286 6287 if isinstance(item1, int): 6288 return super().Get(item1) 6289 6290 return self._Entity.Get(item1) 6291 6292 def __getitem__(self, index: int): 6293 return self.ZoneJointContainerColList[index] 6294 6295 def __iter__(self): 6296 yield from self.ZoneJointContainerColList 6297 6298 def __len__(self): 6299 return len(self.ZoneJointContainerColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6262 @property 6263 def ZoneJointContainerColList(self) -> tuple[T]: 6264 if self._Entity.Count() <= 0: 6265 return () 6266 thisClass = type(self._Entity._items[0]).__name__ 6267 givenClass = T 6268 for subclass in T.__subclasses__(): 6269 if subclass.__name__ == thisClass: 6270 givenClass = subclass 6271 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity])
Inherited Members
6302class RundeckCol(IdEntityCol[Rundeck]): 6303 def __init__(self, rundeckCol: _api.RundeckCol): 6304 self._Entity = rundeckCol 6305 self._CollectedClass = Rundeck 6306 6307 @property 6308 def RundeckColList(self) -> tuple[Rundeck]: 6309 return tuple([Rundeck(rundeckCol) for rundeckCol in self._Entity]) 6310 6311 def AddRundeck(self, inputPath: str, resultPath: str = None) -> Rundeck: 6312 return Rundeck(self._Entity.AddRundeck(inputPath, resultPath)) 6313 6314 def ReassignPrimary(self, id: int) -> RundeckUpdateStatus: 6315 return RundeckUpdateStatus[self._Entity.ReassignPrimary(id).ToString()] 6316 6317 def RemoveRundeck(self, id: int) -> RundeckRemoveStatus: 6318 return RundeckRemoveStatus[self._Entity.RemoveRundeck(id).ToString()] 6319 6320 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6321 newPathsList = List[_api.RundeckPathPair]() 6322 if newPaths is not None: 6323 for thing in newPaths: 6324 if thing is not None: 6325 newPathsList.Add(thing._Entity) 6326 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()] 6327 6328 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6329 ''' 6330 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6331 ''' 6332 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()] 6333 6334 def ReplaceStringInAllPaths(self, stringToReplace: str, newString: str) -> RundeckBulkUpdateStatus: 6335 return RundeckBulkUpdateStatus[self._Entity.ReplaceStringInAllPaths(stringToReplace, newString).ToString()] 6336 6337 def __getitem__(self, index: int): 6338 return self.RundeckColList[index] 6339 6340 def __iter__(self): 6341 yield from self.RundeckColList 6342 6343 def __len__(self): 6344 return len(self.RundeckColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6320 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6321 newPathsList = List[_api.RundeckPathPair]() 6322 if newPaths is not None: 6323 for thing in newPaths: 6324 if thing is not None: 6325 newPathsList.Add(thing._Entity) 6326 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()]
6328 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6329 ''' 6330 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6331 ''' 6332 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()]
Get RundeckPathSetters to be edited and input to UpdateAllRundecks.
Inherited Members
6347class SectionCutCol(IdNameEntityCol[SectionCut]): 6348 def __init__(self, sectionCutCol: _api.SectionCutCol): 6349 self._Entity = sectionCutCol 6350 self._CollectedClass = SectionCut 6351 6352 @property 6353 def SectionCutColList(self) -> tuple[SectionCut]: 6354 return tuple([SectionCut(sectionCutCol) for sectionCutCol in self._Entity]) 6355 6356 def Create(self, origin: Vector3d, normal: Vector3d, horizontal: Vector3d, name: str = None) -> SectionCut: 6357 return SectionCut(self._Entity.Create(origin._Entity, normal._Entity, horizontal._Entity, name)) 6358 6359 def Delete(self, id: int) -> CollectionModificationStatus: 6360 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6361 6362 @overload 6363 def Get(self, name: str) -> SectionCut: ... 6364 6365 @overload 6366 def Get(self, id: int) -> SectionCut: ... 6367 6368 def Get(self, item1 = None) -> SectionCut: 6369 if isinstance(item1, str): 6370 return SectionCut(super().Get(item1)) 6371 6372 if isinstance(item1, int): 6373 return SectionCut(super().Get(item1)) 6374 6375 return self._Entity.Get(item1) 6376 6377 def __getitem__(self, index: int): 6378 return self.SectionCutColList[index] 6379 6380 def __iter__(self): 6381 yield from self.SectionCutColList 6382 6383 def __len__(self): 6384 return len(self.SectionCutColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6387class SetCol(ZoneJointContainerCol[Set]): 6388 def __init__(self, setCol: _api.SetCol): 6389 self._Entity = setCol 6390 self._CollectedClass = Set 6391 6392 @property 6393 def SetColList(self) -> tuple[Set]: 6394 return tuple([Set(setCol) for setCol in self._Entity]) 6395 6396 def Create(self, name: str = None) -> Set: 6397 return Set(self._Entity.Create(name)) 6398 6399 @overload 6400 def Get(self, name: str) -> Set: ... 6401 6402 @overload 6403 def Get(self, id: int) -> Set: ... 6404 6405 def Get(self, item1 = None) -> Set: 6406 if isinstance(item1, str): 6407 return Set(super().Get(item1)) 6408 6409 if isinstance(item1, int): 6410 return Set(super().Get(item1)) 6411 6412 return self._Entity.Get(item1) 6413 6414 def __getitem__(self, index: int): 6415 return self.SetColList[index] 6416 6417 def __iter__(self): 6418 yield from self.SetColList 6419 6420 def __len__(self): 6421 return len(self.SetColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6424class StructureCol(ZoneJointContainerCol[Structure]): 6425 def __init__(self, structureCol: _api.StructureCol): 6426 self._Entity = structureCol 6427 self._CollectedClass = Structure 6428 6429 @property 6430 def StructureColList(self) -> tuple[Structure]: 6431 return tuple([Structure(structureCol) for structureCol in self._Entity]) 6432 6433 def Create(self, name: str = None) -> Structure: 6434 return Structure(self._Entity.Create(name)) 6435 6436 @overload 6437 def DeleteStructure(self, structure: Structure) -> bool: ... 6438 6439 @overload 6440 def DeleteStructure(self, name: str) -> bool: ... 6441 6442 @overload 6443 def DeleteStructure(self, id: int) -> bool: ... 6444 6445 @overload 6446 def Get(self, name: str) -> Structure: ... 6447 6448 @overload 6449 def Get(self, id: int) -> Structure: ... 6450 6451 def DeleteStructure(self, item1 = None) -> bool: 6452 if isinstance(item1, Structure): 6453 return self._Entity.DeleteStructure(item1._Entity) 6454 6455 if isinstance(item1, str): 6456 return self._Entity.DeleteStructure(item1) 6457 6458 if isinstance(item1, int): 6459 return self._Entity.DeleteStructure(item1) 6460 6461 return self._Entity.DeleteStructure(item1._Entity) 6462 6463 def Get(self, item1 = None) -> Structure: 6464 if isinstance(item1, str): 6465 return Structure(super().Get(item1)) 6466 6467 if isinstance(item1, int): 6468 return Structure(super().Get(item1)) 6469 6470 return self._Entity.Get(item1) 6471 6472 def __getitem__(self, index: int): 6473 return self.StructureColList[index] 6474 6475 def __iter__(self): 6476 yield from self.StructureColList 6477 6478 def __len__(self): 6479 return len(self.StructureColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6451 def DeleteStructure(self, item1 = None) -> bool: 6452 if isinstance(item1, Structure): 6453 return self._Entity.DeleteStructure(item1._Entity) 6454 6455 if isinstance(item1, str): 6456 return self._Entity.DeleteStructure(item1) 6457 6458 if isinstance(item1, int): 6459 return self._Entity.DeleteStructure(item1) 6460 6461 return self._Entity.DeleteStructure(item1._Entity)
6482class Project: 6483 ''' 6484 Represents a HyperX project within a database. 6485 ''' 6486 def __init__(self, project: _api.Project): 6487 self._Entity = project 6488 6489 @property 6490 def HyperFea(self) -> HyperFea: 6491 result = self._Entity.HyperFea 6492 return HyperFea(result) if result is not None else None 6493 6494 @property 6495 def WorkingFolder(self) -> str: 6496 return self._Entity.WorkingFolder 6497 6498 @property 6499 def FemDataSet(self) -> FemDataSet: 6500 result = self._Entity.FemDataSet 6501 return FemDataSet(result) if result is not None else None 6502 6503 @property 6504 def Beams(self) -> ZoneCol: 6505 result = self._Entity.Beams 6506 return ZoneCol(result) if result is not None else None 6507 6508 @property 6509 def Id(self) -> int: 6510 return self._Entity.Id 6511 6512 @property 6513 def Joints(self) -> JointCol: 6514 result = self._Entity.Joints 6515 return JointCol(result) if result is not None else None 6516 6517 @property 6518 def Name(self) -> str: 6519 return self._Entity.Name 6520 6521 @property 6522 def Panels(self) -> ZoneCol: 6523 result = self._Entity.Panels 6524 return ZoneCol(result) if result is not None else None 6525 6526 @property 6527 def Rundecks(self) -> RundeckCol: 6528 result = self._Entity.Rundecks 6529 return RundeckCol(result) if result is not None else None 6530 6531 @property 6532 def Sets(self) -> SetCol: 6533 result = self._Entity.Sets 6534 return SetCol(result) if result is not None else None 6535 6536 @property 6537 def Structures(self) -> StructureCol: 6538 result = self._Entity.Structures 6539 return StructureCol(result) if result is not None else None 6540 6541 @property 6542 def Zones(self) -> ZoneCol: 6543 result = self._Entity.Zones 6544 return ZoneCol(result) if result is not None else None 6545 6546 @property 6547 def PanelSegments(self) -> PanelSegmentCol: 6548 result = self._Entity.PanelSegments 6549 return PanelSegmentCol(result) if result is not None else None 6550 6551 @property 6552 def SectionCuts(self) -> SectionCutCol: 6553 result = self._Entity.SectionCuts 6554 return SectionCutCol(result) if result is not None else None 6555 6556 @property 6557 def DesignLoads(self) -> DesignLoadCol: 6558 result = self._Entity.DesignLoads 6559 return DesignLoadCol(result) if result is not None else None 6560 6561 @property 6562 def DiscreteFieldTables(self) -> DiscreteFieldCol: 6563 result = self._Entity.DiscreteFieldTables 6564 return DiscreteFieldCol(result) if result is not None else None 6565 6566 @property 6567 def AnalysisProperties(self) -> AnalysisPropertyCol: 6568 result = self._Entity.AnalysisProperties 6569 return AnalysisPropertyCol(result) if result is not None else None 6570 6571 @property 6572 def DesignProperties(self) -> DesignPropertyCol: 6573 result = self._Entity.DesignProperties 6574 return DesignPropertyCol(result) if result is not None else None 6575 6576 @property 6577 def LoadProperties(self) -> LoadPropertyCol: 6578 result = self._Entity.LoadProperties 6579 return LoadPropertyCol(result) if result is not None else None 6580 6581 @property 6582 def FemFormat(self) -> types.ProjectModelFormat: 6583 return types.ProjectModelFormat[self._Entity.FemFormat.ToString()] 6584 6585 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6586 tagsList = List[str]() 6587 if tags is not None: 6588 for thing in tags: 6589 if thing is not None: 6590 tagsList.Add(thing) 6591 zoneIdsSet = HashSet[int]() 6592 if zoneIds is not None: 6593 for thing in zoneIds: 6594 if thing is not None: 6595 zoneIdsSet.Add(thing) 6596 jointIdsSet = HashSet[int]() 6597 if jointIds is not None: 6598 for thing in jointIds: 6599 if thing is not None: 6600 jointIdsSet.Add(thing) 6601 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet) 6602 6603 def GetDashboardCompanies(self) -> list[str]: 6604 ''' 6605 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6606 Dashboard login made through HyperX. 6607 ''' 6608 return list[str](self._Entity.GetDashboardCompanies()) 6609 6610 def GetDashboardPrograms(self, companyName: str) -> list[str]: 6611 return list[str](self._Entity.GetDashboardPrograms(companyName)) 6612 6613 def GetDashboardTags(self, companyName: str) -> list[str]: 6614 return list[str](self._Entity.GetDashboardTags(companyName)) 6615 6616 def GenerateSolverSizingInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6617 zonesSet = HashSet[int]() 6618 if zones is not None: 6619 for thing in zones: 6620 if thing is not None: 6621 zonesSet.Add(thing) 6622 sectionCutsSet = HashSet[int]() 6623 if sectionCuts is not None: 6624 for thing in sectionCuts: 6625 if thing is not None: 6626 sectionCutsSet.Add(thing) 6627 panelSegmentsSet = HashSet[int]() 6628 if panelSegments is not None: 6629 for thing in panelSegments: 6630 if thing is not None: 6631 panelSegmentsSet.Add(thing) 6632 return self._Entity.GenerateSolverSizingInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet) 6633 6634 def GenerateSolverAnalysisInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6635 zonesSet = HashSet[int]() 6636 if zones is not None: 6637 for thing in zones: 6638 if thing is not None: 6639 zonesSet.Add(thing) 6640 sectionCutsSet = HashSet[int]() 6641 if sectionCuts is not None: 6642 for thing in sectionCuts: 6643 if thing is not None: 6644 sectionCutsSet.Add(thing) 6645 panelSegmentsSet = HashSet[int]() 6646 if panelSegments is not None: 6647 for thing in panelSegments: 6648 if thing is not None: 6649 panelSegmentsSet.Add(thing) 6650 return self._Entity.GenerateSolverAnalysisInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet) 6651 6652 def FullRunSolverSizing(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6653 zonesSet = HashSet[int]() 6654 if zones is not None: 6655 for thing in zones: 6656 if thing is not None: 6657 zonesSet.Add(thing) 6658 sectionCutsSet = HashSet[int]() 6659 if sectionCuts is not None: 6660 for thing in sectionCuts: 6661 if thing is not None: 6662 sectionCutsSet.Add(thing) 6663 panelSegmentsSet = HashSet[int]() 6664 if panelSegments is not None: 6665 for thing in panelSegments: 6666 if thing is not None: 6667 panelSegmentsSet.Add(thing) 6668 return self._Entity.FullRunSolverSizing(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads) 6669 6670 def FullRunSolverAnalysis(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6671 zonesSet = HashSet[int]() 6672 if zones is not None: 6673 for thing in zones: 6674 if thing is not None: 6675 zonesSet.Add(thing) 6676 sectionCutsSet = HashSet[int]() 6677 if sectionCuts is not None: 6678 for thing in sectionCuts: 6679 if thing is not None: 6680 sectionCutsSet.Add(thing) 6681 panelSegmentsSet = HashSet[int]() 6682 if panelSegments is not None: 6683 for thing in panelSegments: 6684 if thing is not None: 6685 panelSegmentsSet.Add(thing) 6686 return self._Entity.FullRunSolverAnalysis(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads) 6687 6688 def RunSolver(self, inputFile: str, outputFile: str = None, nThreads: int = None) -> bool: 6689 return self._Entity.RunSolver(inputFile, outputFile, nThreads) 6690 6691 def Dispose(self) -> None: 6692 return self._Entity.Dispose() 6693 6694 def ImportFem(self) -> None: 6695 return self._Entity.ImportFem() 6696 6697 def ImportFeaResults(self, alwaysImport: bool = False) -> str: 6698 return self._Entity.ImportFeaResults(alwaysImport) 6699 6700 def SetFemFormat(self, femFormat: types.ProjectModelFormat) -> None: 6701 return self._Entity.SetFemFormat(_types.ProjectModelFormat(femFormat.value)) 6702 6703 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6704 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()] 6705 6706 def SizeJoints(self, joints: list[Joint] = None) -> tuple[bool, str, set[int]]: 6707 jointsList = List[_api.Joint]() 6708 if joints is not None: 6709 for thing in joints: 6710 if thing is not None: 6711 jointsList.Add(thing._Entity) 6712 result = self._Entity.SizeJoints(joints if joints is None else jointsList) 6713 return tuple([result.Item1, result.Item2, result.Item3]) 6714 6715 @overload 6716 def AnalyzeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6717 6718 @overload 6719 def AnalyzeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6720 6721 @overload 6722 def SizeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6723 6724 @overload 6725 def SizeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6726 6727 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6728 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6729 thisClass = type(result).__name__ 6730 givenClass = Zone 6731 for subclass in Zone.__subclasses__(): 6732 if subclass.__name__ == thisClass: 6733 givenClass = subclass 6734 return givenClass(result) 6735 6736 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6737 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6738 jointIdsSet = HashSet[int]() 6739 if jointIds is not None: 6740 for thing in jointIds: 6741 if thing is not None: 6742 jointIdsSet.Add(thing) 6743 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet) 6744 6745 def UnimportFemAsync(self) -> Task: 6746 return Task(self._Entity.UnimportFemAsync()) 6747 6748 def ExportFem(self, destinationFolder: str) -> None: 6749 return self._Entity.ExportFem(destinationFolder) 6750 6751 def ImportCad(self, filePath: str) -> None: 6752 return self._Entity.ImportCad(filePath) 6753 6754 @overload 6755 def ExportCad(self, filePath: str) -> None: ... 6756 6757 @overload 6758 def ExportCad(self, cadIds: tuple[int], filePath: str) -> None: ... 6759 6760 def RegeneratePfem(self) -> None: 6761 ''' 6762 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6763 do not call this method 6764 ''' 6765 return self._Entity.RegeneratePfem() 6766 6767 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6768 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6769 zonesList = List[_api.Zone]() 6770 if item1 is not None: 6771 for thing in item1: 6772 if thing is not None: 6773 zonesList.Add(thing._Entity) 6774 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6775 6776 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6777 zoneIdsList = MakeCSharpIntList(item1) 6778 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6779 6780 return self._Entity.AnalyzeZones(item1) 6781 6782 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6783 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6784 zonesList = List[_api.Zone]() 6785 if item1 is not None: 6786 for thing in item1: 6787 if thing is not None: 6788 zonesList.Add(thing._Entity) 6789 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6790 6791 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6792 zoneIdsList = MakeCSharpIntList(item1) 6793 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6794 6795 return self._Entity.SizeZones(item1) 6796 6797 def ExportCad(self, item1 = None, item2 = None) -> None: 6798 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, str): 6799 cadIdsList = MakeCSharpIntList(item1) 6800 cadIdsEnumerable = IEnumerable(cadIdsList) 6801 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6802 6803 if isinstance(item1, str): 6804 return self._Entity.ExportCad(item1) 6805 6806 return self._Entity.ExportCad(item1, item2)
Represents a HyperX project within a database.
6585 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6586 tagsList = List[str]() 6587 if tags is not None: 6588 for thing in tags: 6589 if thing is not None: 6590 tagsList.Add(thing) 6591 zoneIdsSet = HashSet[int]() 6592 if zoneIds is not None: 6593 for thing in zoneIds: 6594 if thing is not None: 6595 zoneIdsSet.Add(thing) 6596 jointIdsSet = HashSet[int]() 6597 if jointIds is not None: 6598 for thing in jointIds: 6599 if thing is not None: 6600 jointIdsSet.Add(thing) 6601 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet)
6603 def GetDashboardCompanies(self) -> list[str]: 6604 ''' 6605 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6606 Dashboard login made through HyperX. 6607 ''' 6608 return list[str](self._Entity.GetDashboardCompanies())
This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last Dashboard login made through HyperX.
6616 def GenerateSolverSizingInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6617 zonesSet = HashSet[int]() 6618 if zones is not None: 6619 for thing in zones: 6620 if thing is not None: 6621 zonesSet.Add(thing) 6622 sectionCutsSet = HashSet[int]() 6623 if sectionCuts is not None: 6624 for thing in sectionCuts: 6625 if thing is not None: 6626 sectionCutsSet.Add(thing) 6627 panelSegmentsSet = HashSet[int]() 6628 if panelSegments is not None: 6629 for thing in panelSegments: 6630 if thing is not None: 6631 panelSegmentsSet.Add(thing) 6632 return self._Entity.GenerateSolverSizingInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet)
6634 def GenerateSolverAnalysisInputFile(self, inputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None) -> str: 6635 zonesSet = HashSet[int]() 6636 if zones is not None: 6637 for thing in zones: 6638 if thing is not None: 6639 zonesSet.Add(thing) 6640 sectionCutsSet = HashSet[int]() 6641 if sectionCuts is not None: 6642 for thing in sectionCuts: 6643 if thing is not None: 6644 sectionCutsSet.Add(thing) 6645 panelSegmentsSet = HashSet[int]() 6646 if panelSegments is not None: 6647 for thing in panelSegments: 6648 if thing is not None: 6649 panelSegmentsSet.Add(thing) 6650 return self._Entity.GenerateSolverAnalysisInputFile(inputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet)
6652 def FullRunSolverSizing(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6653 zonesSet = HashSet[int]() 6654 if zones is not None: 6655 for thing in zones: 6656 if thing is not None: 6657 zonesSet.Add(thing) 6658 sectionCutsSet = HashSet[int]() 6659 if sectionCuts is not None: 6660 for thing in sectionCuts: 6661 if thing is not None: 6662 sectionCutsSet.Add(thing) 6663 panelSegmentsSet = HashSet[int]() 6664 if panelSegments is not None: 6665 for thing in panelSegments: 6666 if thing is not None: 6667 panelSegmentsSet.Add(thing) 6668 return self._Entity.FullRunSolverSizing(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads)
6670 def FullRunSolverAnalysis(self, inputFile: str = None, outputFile: str = None, zones: set[int] = None, sectionCuts: set[int] = None, panelSegments: set[int] = None, nThreads: int = None) -> bool: 6671 zonesSet = HashSet[int]() 6672 if zones is not None: 6673 for thing in zones: 6674 if thing is not None: 6675 zonesSet.Add(thing) 6676 sectionCutsSet = HashSet[int]() 6677 if sectionCuts is not None: 6678 for thing in sectionCuts: 6679 if thing is not None: 6680 sectionCutsSet.Add(thing) 6681 panelSegmentsSet = HashSet[int]() 6682 if panelSegments is not None: 6683 for thing in panelSegments: 6684 if thing is not None: 6685 panelSegmentsSet.Add(thing) 6686 return self._Entity.FullRunSolverAnalysis(inputFile, outputFile, zones if zones is None else zonesSet, sectionCuts if sectionCuts is None else sectionCutsSet, panelSegments if panelSegments is None else panelSegmentsSet, nThreads)
6703 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6704 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()]
6706 def SizeJoints(self, joints: list[Joint] = None) -> tuple[bool, str, set[int]]: 6707 jointsList = List[_api.Joint]() 6708 if joints is not None: 6709 for thing in joints: 6710 if thing is not None: 6711 jointsList.Add(thing._Entity) 6712 result = self._Entity.SizeJoints(joints if joints is None else jointsList) 6713 return tuple([result.Item1, result.Item2, result.Item3])
6767 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6768 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6769 zonesList = List[_api.Zone]() 6770 if item1 is not None: 6771 for thing in item1: 6772 if thing is not None: 6773 zonesList.Add(thing._Entity) 6774 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6775 6776 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6777 zoneIdsList = MakeCSharpIntList(item1) 6778 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6779 6780 return self._Entity.AnalyzeZones(item1)
6782 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6783 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], Zone): 6784 zonesList = List[_api.Zone]() 6785 if item1 is not None: 6786 for thing in item1: 6787 if thing is not None: 6788 zonesList.Add(thing._Entity) 6789 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6790 6791 if isinstance(item1, list) and len(item1) > 0 and isinstance(item1[0], int): 6792 zoneIdsList = MakeCSharpIntList(item1) 6793 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6794 6795 return self._Entity.SizeZones(item1)
6727 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6728 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6729 thisClass = type(result).__name__ 6730 givenClass = Zone 6731 for subclass in Zone.__subclasses__(): 6732 if subclass.__name__ == thisClass: 6733 givenClass = subclass 6734 return givenClass(result)
6736 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6737 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6738 jointIdsSet = HashSet[int]() 6739 if jointIds is not None: 6740 for thing in jointIds: 6741 if thing is not None: 6742 jointIdsSet.Add(thing) 6743 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet)
6797 def ExportCad(self, item1 = None, item2 = None) -> None: 6798 if isinstance(item1, tuple) and len(item1) > 0 and isinstance(item1[0], int) and isinstance(item2, str): 6799 cadIdsList = MakeCSharpIntList(item1) 6800 cadIdsEnumerable = IEnumerable(cadIdsList) 6801 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6802 6803 if isinstance(item1, str): 6804 return self._Entity.ExportCad(item1) 6805 6806 return self._Entity.ExportCad(item1, item2)
6760 def RegeneratePfem(self) -> None: 6761 ''' 6762 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6763 do not call this method 6764 ''' 6765 return self._Entity.RegeneratePfem()
Regenerates and displays the preview FEM. If running a script outside of the Script Runner, do not call this method
6809class ProjectInfo(IdNameEntityRenameable): 6810 def __init__(self, projectInfo: _api.ProjectInfo): 6811 self._Entity = projectInfo
Represents an entity with an ID and Name.
Inherited Members
6814class FailureModeCategoryCol(IdNameEntityCol[FailureModeCategory]): 6815 def __init__(self, failureModeCategoryCol: _api.FailureModeCategoryCol): 6816 self._Entity = failureModeCategoryCol 6817 self._CollectedClass = FailureModeCategory 6818 6819 @property 6820 def FailureModeCategoryColList(self) -> tuple[FailureModeCategory]: 6821 return tuple([FailureModeCategory(failureModeCategoryCol) for failureModeCategoryCol in self._Entity]) 6822 6823 @overload 6824 def Get(self, name: str) -> FailureModeCategory: ... 6825 6826 @overload 6827 def Get(self, id: int) -> FailureModeCategory: ... 6828 6829 def Get(self, item1 = None) -> FailureModeCategory: 6830 if isinstance(item1, str): 6831 return FailureModeCategory(super().Get(item1)) 6832 6833 if isinstance(item1, int): 6834 return FailureModeCategory(super().Get(item1)) 6835 6836 return self._Entity.Get(item1) 6837 6838 def __getitem__(self, index: int): 6839 return self.FailureModeCategoryColList[index] 6840 6841 def __iter__(self): 6842 yield from self.FailureModeCategoryColList 6843 6844 def __len__(self): 6845 return len(self.FailureModeCategoryColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6848class FoamCol(Generic[T]): 6849 def __init__(self, foamCol: _api.FoamCol): 6850 self._Entity = foamCol 6851 6852 @property 6853 def FoamColList(self) -> tuple[Foam]: 6854 return tuple([Foam(foamCol) for foamCol in self._Entity]) 6855 6856 def Count(self) -> int: 6857 return self._Entity.Count() 6858 6859 def Get(self, materialName: str) -> Foam: 6860 return Foam(self._Entity.Get(materialName)) 6861 6862 def Contains(self, materialName: str) -> bool: 6863 return self._Entity.Contains(materialName) 6864 6865 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Foam: 6866 return Foam(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6867 6868 def Copy(self, fmToCopyName: str, newMaterialName: str = None, femId: int = None) -> Foam: 6869 return Foam(self._Entity.Copy(fmToCopyName, newMaterialName, femId)) 6870 6871 def Delete(self, materialName: str) -> bool: 6872 return self._Entity.Delete(materialName) 6873 6874 def __getitem__(self, index: int): 6875 return self.FoamColList[index] 6876 6877 def __iter__(self): 6878 yield from self.FoamColList 6879 6880 def __len__(self): 6881 return len(self.FoamColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6884class HoneycombCol(Generic[T]): 6885 def __init__(self, honeycombCol: _api.HoneycombCol): 6886 self._Entity = honeycombCol 6887 6888 @property 6889 def HoneycombColList(self) -> tuple[Honeycomb]: 6890 return tuple([Honeycomb(honeycombCol) for honeycombCol in self._Entity]) 6891 6892 def Count(self) -> int: 6893 return self._Entity.Count() 6894 6895 def Get(self, materialName: str) -> Honeycomb: 6896 return Honeycomb(self._Entity.Get(materialName)) 6897 6898 def Contains(self, materialName: str) -> bool: 6899 return self._Entity.Contains(materialName) 6900 6901 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Honeycomb: 6902 return Honeycomb(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6903 6904 def Copy(self, honeyToCopyName: str, newMaterialName: str = None, femId: int = None) -> Honeycomb: 6905 return Honeycomb(self._Entity.Copy(honeyToCopyName, newMaterialName, femId)) 6906 6907 def Delete(self, materialName: str) -> bool: 6908 return self._Entity.Delete(materialName) 6909 6910 def __getitem__(self, index: int): 6911 return self.HoneycombColList[index] 6912 6913 def __iter__(self): 6914 yield from self.HoneycombColList 6915 6916 def __len__(self): 6917 return len(self.HoneycombColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6920class IsotropicCol(Generic[T]): 6921 def __init__(self, isotropicCol: _api.IsotropicCol): 6922 self._Entity = isotropicCol 6923 6924 @property 6925 def IsotropicColList(self) -> tuple[Isotropic]: 6926 return tuple([Isotropic(isotropicCol) for isotropicCol in self._Entity]) 6927 6928 def Count(self) -> int: 6929 return self._Entity.Count() 6930 6931 def Get(self, materialName: str) -> Isotropic: 6932 return Isotropic(self._Entity.Get(materialName)) 6933 6934 def Contains(self, materialName: str) -> bool: 6935 return self._Entity.Contains(materialName) 6936 6937 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Isotropic: 6938 return Isotropic(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 6939 6940 def Copy(self, isoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Isotropic: 6941 return Isotropic(self._Entity.Copy(isoToCopyName, newMaterialName, femId)) 6942 6943 def Delete(self, materialName: str) -> bool: 6944 return self._Entity.Delete(materialName) 6945 6946 def __getitem__(self, index: int): 6947 return self.IsotropicColList[index] 6948 6949 def __iter__(self): 6950 yield from self.IsotropicColList 6951 6952 def __len__(self): 6953 return len(self.IsotropicColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6956class LaminateFamilyCol(IdNameEntityCol[LaminateFamily]): 6957 def __init__(self, laminateFamilyCol: _api.LaminateFamilyCol): 6958 self._Entity = laminateFamilyCol 6959 self._CollectedClass = LaminateFamily 6960 6961 @property 6962 def LaminateFamilyColList(self) -> tuple[LaminateFamily]: 6963 return tuple([LaminateFamily(laminateFamilyCol) for laminateFamilyCol in self._Entity]) 6964 6965 @overload 6966 def Get(self, name: str) -> LaminateFamily: ... 6967 6968 @overload 6969 def Get(self, id: int) -> LaminateFamily: ... 6970 6971 def Get(self, item1 = None) -> LaminateFamily: 6972 if isinstance(item1, str): 6973 return LaminateFamily(super().Get(item1)) 6974 6975 if isinstance(item1, int): 6976 return LaminateFamily(super().Get(item1)) 6977 6978 return self._Entity.Get(item1) 6979 6980 def __getitem__(self, index: int): 6981 return self.LaminateFamilyColList[index] 6982 6983 def __iter__(self): 6984 yield from self.LaminateFamilyColList 6985 6986 def __len__(self): 6987 return len(self.LaminateFamilyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6990class LaminateCol(Generic[T]): 6991 def __init__(self, laminateCol: _api.LaminateCol): 6992 self._Entity = laminateCol 6993 6994 @property 6995 def LaminateColList(self) -> tuple[Laminate]: 6996 return tuple([Laminate(laminateCol) for laminateCol in self._Entity]) 6997 6998 def Count(self) -> int: 6999 return self._Entity.Count() 7000 7001 def Get(self, laminateName: str) -> LaminateBase: 7002 result = self._Entity.Get(laminateName) 7003 thisClass = type(result).__name__ 7004 givenClass = LaminateBase 7005 for subclass in LaminateBase.__subclasses__(): 7006 if subclass.__name__ == thisClass: 7007 givenClass = subclass 7008 return givenClass(result) 7009 7010 def Contains(self, laminateName: str) -> bool: 7011 return self._Entity.Contains(laminateName) 7012 7013 def CreateLaminate(self, materialFamily: str, laminateName: str = None) -> Laminate: 7014 return Laminate(self._Entity.CreateLaminate(materialFamily, laminateName)) 7015 7016 def CreateStiffenerLaminate(self, materialFamily: str, stiffenerProfile: types.StiffenerProfile, laminateName: str = None) -> StiffenerLaminate: 7017 return StiffenerLaminate(self._Entity.CreateStiffenerLaminate(materialFamily, _types.StiffenerProfile(stiffenerProfile.value), laminateName)) 7018 7019 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7020 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7021 thisClass = type(result).__name__ 7022 givenClass = LaminateBase 7023 for subclass in LaminateBase.__subclasses__(): 7024 if subclass.__name__ == thisClass: 7025 givenClass = subclass 7026 return givenClass(result) 7027 7028 def Delete(self, name: str) -> bool: 7029 return self._Entity.Delete(name) 7030 7031 def GetLaminate(self, name: str) -> Laminate: 7032 return Laminate(self._Entity.GetLaminate(name)) 7033 7034 def GetStiffenerLaminate(self, name: str) -> StiffenerLaminate: 7035 return StiffenerLaminate(self._Entity.GetStiffenerLaminate(name)) 7036 7037 def __getitem__(self, index: int): 7038 return self.LaminateColList[index] 7039 7040 def __iter__(self): 7041 yield from self.LaminateColList 7042 7043 def __len__(self): 7044 return len(self.LaminateColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7001 def Get(self, laminateName: str) -> LaminateBase: 7002 result = self._Entity.Get(laminateName) 7003 thisClass = type(result).__name__ 7004 givenClass = LaminateBase 7005 for subclass in LaminateBase.__subclasses__(): 7006 if subclass.__name__ == thisClass: 7007 givenClass = subclass 7008 return givenClass(result)
7019 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7020 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7021 thisClass = type(result).__name__ 7022 givenClass = LaminateBase 7023 for subclass in LaminateBase.__subclasses__(): 7024 if subclass.__name__ == thisClass: 7025 givenClass = subclass 7026 return givenClass(result)
7047class OrthotropicCol(Generic[T]): 7048 def __init__(self, orthotropicCol: _api.OrthotropicCol): 7049 self._Entity = orthotropicCol 7050 7051 @property 7052 def OrthotropicColList(self) -> tuple[Orthotropic]: 7053 return tuple([Orthotropic(orthotropicCol) for orthotropicCol in self._Entity]) 7054 7055 def Count(self) -> int: 7056 return self._Entity.Count() 7057 7058 def Get(self, materialName: str) -> Orthotropic: 7059 return Orthotropic(self._Entity.Get(materialName)) 7060 7061 def Contains(self, materialName: str) -> bool: 7062 return self._Entity.Contains(materialName) 7063 7064 def Create(self, materialFamilyName: str, thickness: float, density: float, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7065 return Orthotropic(self._Entity.Create(materialFamilyName, thickness, density, newMaterialName, femId)) 7066 7067 def Copy(self, orthoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7068 return Orthotropic(self._Entity.Copy(orthoToCopyName, newMaterialName, femId)) 7069 7070 def Delete(self, materialName: str) -> bool: 7071 return self._Entity.Delete(materialName) 7072 7073 def __getitem__(self, index: int): 7074 return self.OrthotropicColList[index] 7075 7076 def __iter__(self): 7077 yield from self.OrthotropicColList 7078 7079 def __len__(self): 7080 return len(self.OrthotropicColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7083class PluginPackageCol(IdNameEntityCol[PluginPackage]): 7084 def __init__(self, pluginPackageCol: _api.PluginPackageCol): 7085 self._Entity = pluginPackageCol 7086 self._CollectedClass = PluginPackage 7087 7088 @property 7089 def PluginPackageColList(self) -> tuple[PluginPackage]: 7090 return tuple([PluginPackage(pluginPackageCol) for pluginPackageCol in self._Entity]) 7091 7092 def AddPluginPackage(self, path: str) -> PluginPackage: 7093 return PluginPackage(self._Entity.AddPluginPackage(path)) 7094 7095 @overload 7096 def RemovePluginPackage(self, name: str) -> bool: ... 7097 7098 @overload 7099 def RemovePluginPackage(self, id: int) -> bool: ... 7100 7101 def ClearAllPluginPackages(self) -> None: 7102 ''' 7103 Clears all packages out of the database 7104 ''' 7105 return self._Entity.ClearAllPluginPackages() 7106 7107 def GetPluginPackages(self) -> list[PluginPackage]: 7108 ''' 7109 Gets a list of package info 7110 Includes name, id, file path, version, description, and modification date 7111 ''' 7112 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()] 7113 7114 @overload 7115 def Get(self, name: str) -> PluginPackage: ... 7116 7117 @overload 7118 def Get(self, id: int) -> PluginPackage: ... 7119 7120 def RemovePluginPackage(self, item1 = None) -> bool: 7121 if isinstance(item1, str): 7122 return self._Entity.RemovePluginPackage(item1) 7123 7124 if isinstance(item1, int): 7125 return self._Entity.RemovePluginPackage(item1) 7126 7127 return self._Entity.RemovePluginPackage(item1) 7128 7129 def Get(self, item1 = None) -> PluginPackage: 7130 if isinstance(item1, str): 7131 return PluginPackage(super().Get(item1)) 7132 7133 if isinstance(item1, int): 7134 return PluginPackage(super().Get(item1)) 7135 7136 return self._Entity.Get(item1) 7137 7138 def __getitem__(self, index: int): 7139 return self.PluginPackageColList[index] 7140 7141 def __iter__(self): 7142 yield from self.PluginPackageColList 7143 7144 def __len__(self): 7145 return len(self.PluginPackageColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7101 def ClearAllPluginPackages(self) -> None: 7102 ''' 7103 Clears all packages out of the database 7104 ''' 7105 return self._Entity.ClearAllPluginPackages()
Clears all packages out of the database
7107 def GetPluginPackages(self) -> list[PluginPackage]: 7108 ''' 7109 Gets a list of package info 7110 Includes name, id, file path, version, description, and modification date 7111 ''' 7112 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()]
Gets a list of package info Includes name, id, file path, version, description, and modification date
Inherited Members
7148class ProjectInfoCol(IdNameEntityCol[ProjectInfo]): 7149 def __init__(self, projectInfoCol: _api.ProjectInfoCol): 7150 self._Entity = projectInfoCol 7151 self._CollectedClass = ProjectInfo 7152 7153 @property 7154 def ProjectInfoColList(self) -> tuple[ProjectInfo]: 7155 return tuple([ProjectInfo(projectInfoCol) for projectInfoCol in self._Entity]) 7156 7157 @overload 7158 def Get(self, name: str) -> ProjectInfo: ... 7159 7160 @overload 7161 def Get(self, id: int) -> ProjectInfo: ... 7162 7163 def Get(self, item1 = None) -> ProjectInfo: 7164 if isinstance(item1, str): 7165 return ProjectInfo(super().Get(item1)) 7166 7167 if isinstance(item1, int): 7168 return ProjectInfo(super().Get(item1)) 7169 7170 return self._Entity.Get(item1) 7171 7172 def __getitem__(self, index: int): 7173 return self.ProjectInfoColList[index] 7174 7175 def __iter__(self): 7176 yield from self.ProjectInfoColList 7177 7178 def __len__(self): 7179 return len(self.ProjectInfoColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7182class Application: 7183 ''' 7184 HyperX scripting application. 7185 This API is not guaranteed to be thread-safe. 7186 Calls into a single application instance or its descendents are not safe to be called concurrently. 7187 7188 However, it is safe enough for integration testing to have multiple 7189 application instances with a single process. 7190 ''' 7191 def __init__(self, application: _api.Application): 7192 self._Entity = application 7193 7194 @property 7195 def CompilationDate(self) -> str: 7196 return self._Entity.CompilationDate 7197 7198 @property 7199 def DatabasePath(self) -> str: 7200 return self._Entity.DatabasePath 7201 7202 @property 7203 def ActiveProject(self) -> Project: 7204 ''' 7205 Represents a HyperX project within a database. 7206 ''' 7207 result = self._Entity.ActiveProject 7208 return Project(result) if result is not None else None 7209 7210 @property 7211 def UiRunnerMode(self) -> bool: 7212 return self._Entity.UiRunnerMode 7213 7214 @property 7215 def Version(self) -> str: 7216 return self._Entity.Version 7217 7218 @property 7219 def FailureModeCategories(self) -> FailureModeCategoryCol: 7220 result = self._Entity.FailureModeCategories 7221 return FailureModeCategoryCol(result) if result is not None else None 7222 7223 @property 7224 def FailureModes(self) -> FailureModeCol: 7225 result = self._Entity.FailureModes 7226 return FailureModeCol(result) if result is not None else None 7227 7228 @property 7229 def Packages(self) -> PluginPackageCol: 7230 result = self._Entity.Packages 7231 return PluginPackageCol(result) if result is not None else None 7232 7233 @property 7234 def Foams(self) -> FoamCol: 7235 ''' 7236 Contains a set of all foam materials in a database. 7237 ''' 7238 result = self._Entity.Foams 7239 return FoamCol(result) if result is not None else None 7240 7241 @property 7242 def Honeycombs(self) -> HoneycombCol: 7243 ''' 7244 Contains a set of all honeycomb materials in a database. 7245 ''' 7246 result = self._Entity.Honeycombs 7247 return HoneycombCol(result) if result is not None else None 7248 7249 @property 7250 def Isotropics(self) -> IsotropicCol: 7251 ''' 7252 Contains a set of all isotropic materials in a database. 7253 ''' 7254 result = self._Entity.Isotropics 7255 return IsotropicCol(result) if result is not None else None 7256 7257 @property 7258 def Laminates(self) -> LaminateCol: 7259 result = self._Entity.Laminates 7260 return LaminateCol(result) if result is not None else None 7261 7262 @property 7263 def LaminateFamilies(self) -> LaminateFamilyCol: 7264 result = self._Entity.LaminateFamilies 7265 return LaminateFamilyCol(result) if result is not None else None 7266 7267 @property 7268 def AnalysisProperties(self) -> AnalysisPropertyCol: 7269 result = self._Entity.AnalysisProperties 7270 return AnalysisPropertyCol(result) if result is not None else None 7271 7272 @property 7273 def DesignProperties(self) -> DesignPropertyCol: 7274 result = self._Entity.DesignProperties 7275 return DesignPropertyCol(result) if result is not None else None 7276 7277 @property 7278 def LoadProperties(self) -> LoadPropertyCol: 7279 result = self._Entity.LoadProperties 7280 return LoadPropertyCol(result) if result is not None else None 7281 7282 @property 7283 def Orthotropics(self) -> OrthotropicCol: 7284 ''' 7285 Contains a set of all orthotropic materials in a database. 7286 ''' 7287 result = self._Entity.Orthotropics 7288 return OrthotropicCol(result) if result is not None else None 7289 7290 @property 7291 def ProjectInfos(self) -> ProjectInfoCol: 7292 ''' 7293 Contains a set of all projects in a database. 7294 ''' 7295 result = self._Entity.ProjectInfos 7296 return ProjectInfoCol(result) if result is not None else None 7297 7298 @property 7299 def UserName(self) -> str: 7300 return self._Entity.UserName 7301 7302 @UserName.setter 7303 def UserName(self, value: str) -> None: 7304 self._Entity.UserName = value 7305 7306 def CloseDatabase(self, delay: int = 0) -> None: 7307 return self._Entity.CloseDatabase(delay) 7308 7309 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7310 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder)) 7311 7312 def CreateDatabaseFromTemplate(self, templateName: str, newPath: str) -> None: 7313 return self._Entity.CreateDatabaseFromTemplate(templateName, newPath) 7314 7315 def CreateProject(self, projectName: str = None) -> ProjectInfo: 7316 return ProjectInfo(self._Entity.CreateProject(projectName)) 7317 7318 def DeleteProject(self, projectName: str) -> ProjectDeletionStatus: 7319 return ProjectDeletionStatus[self._Entity.DeleteProject(projectName).ToString()] 7320 7321 def Dispose(self) -> None: 7322 ''' 7323 Dispose of the application. Should be explicitly called after the application 7324 is no longer needed unless the application is wrapped with a using clause. 7325 ''' 7326 return self._Entity.Dispose() 7327 7328 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7329 ''' 7330 Get all Analysis Definitions in the database. 7331 ''' 7332 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses()) 7333 7334 def Login(self, userName: str, password: str = "") -> None: 7335 return self._Entity.Login(userName, password) 7336 7337 def Migrate(self, databasePath: str) -> str: 7338 return self._Entity.Migrate(databasePath) 7339 7340 def CheckDatabaseIsUpToDate(self, databasePath: str) -> bool: 7341 return self._Entity.CheckDatabaseIsUpToDate(databasePath) 7342 7343 def OpenDatabase(self, databasePath: str) -> None: 7344 return self._Entity.OpenDatabase(databasePath) 7345 7346 def SelectProject(self, projectName: str) -> Project: 7347 return Project(self._Entity.SelectProject(projectName))
HyperX scripting application. This API is not guaranteed to be thread-safe. Calls into a single application instance or its descendents are not safe to be called concurrently.
However, it is safe enough for integration testing to have multiple
application instances with a single process.
7202 @property 7203 def ActiveProject(self) -> Project: 7204 ''' 7205 Represents a HyperX project within a database. 7206 ''' 7207 result = self._Entity.ActiveProject 7208 return Project(result) if result is not None else None
Represents a HyperX project within a database.
7233 @property 7234 def Foams(self) -> FoamCol: 7235 ''' 7236 Contains a set of all foam materials in a database. 7237 ''' 7238 result = self._Entity.Foams 7239 return FoamCol(result) if result is not None else None
Contains a set of all foam materials in a database.
7241 @property 7242 def Honeycombs(self) -> HoneycombCol: 7243 ''' 7244 Contains a set of all honeycomb materials in a database. 7245 ''' 7246 result = self._Entity.Honeycombs 7247 return HoneycombCol(result) if result is not None else None
Contains a set of all honeycomb materials in a database.
7249 @property 7250 def Isotropics(self) -> IsotropicCol: 7251 ''' 7252 Contains a set of all isotropic materials in a database. 7253 ''' 7254 result = self._Entity.Isotropics 7255 return IsotropicCol(result) if result is not None else None
Contains a set of all isotropic materials in a database.
7282 @property 7283 def Orthotropics(self) -> OrthotropicCol: 7284 ''' 7285 Contains a set of all orthotropic materials in a database. 7286 ''' 7287 result = self._Entity.Orthotropics 7288 return OrthotropicCol(result) if result is not None else None
Contains a set of all orthotropic materials in a database.
7290 @property 7291 def ProjectInfos(self) -> ProjectInfoCol: 7292 ''' 7293 Contains a set of all projects in a database. 7294 ''' 7295 result = self._Entity.ProjectInfos 7296 return ProjectInfoCol(result) if result is not None else None
Contains a set of all projects in a database.
7309 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7310 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder))
7321 def Dispose(self) -> None: 7322 ''' 7323 Dispose of the application. Should be explicitly called after the application 7324 is no longer needed unless the application is wrapped with a using clause. 7325 ''' 7326 return self._Entity.Dispose()
Dispose of the application. Should be explicitly called after the application is no longer needed unless the application is wrapped with a using clause.
7328 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7329 ''' 7330 Get all Analysis Definitions in the database. 7331 ''' 7332 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses())
Get all Analysis Definitions in the database.
7350class JointDesignProperty(DesignProperty): 7351 def __init__(self, jointDesignProperty: _api.JointDesignProperty): 7352 self._Entity = jointDesignProperty
Represents an entity with an ID and Name.
Inherited Members
7355class SizingMaterial(IdEntity): 7356 def __init__(self, sizingMaterial: _api.SizingMaterial): 7357 self._Entity = sizingMaterial 7358 7359 @property 7360 def MaterialId(self) -> int: 7361 return self._Entity.MaterialId 7362 7363 @property 7364 def MaterialType(self) -> types.MaterialType: 7365 ''' 7366 Represents a material's type. 7367 ''' 7368 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
7371class SizingMaterialCol(IdEntityCol[SizingMaterial]): 7372 def __init__(self, sizingMaterialCol: _api.SizingMaterialCol): 7373 self._Entity = sizingMaterialCol 7374 self._CollectedClass = SizingMaterial 7375 7376 @property 7377 def SizingMaterialColList(self) -> tuple[SizingMaterial]: 7378 return tuple([SizingMaterial(sizingMaterialCol) for sizingMaterialCol in self._Entity]) 7379 7380 @overload 7381 def Get(self, name: str) -> SizingMaterial: ... 7382 7383 @overload 7384 def Contains(self, name: str) -> bool: ... 7385 7386 @overload 7387 def AddSizingMaterial(self, materialId: int) -> bool: ... 7388 7389 @overload 7390 def AddSizingMaterial(self, name: str) -> bool: ... 7391 7392 @overload 7393 def RemoveSizingMaterial(self, materialId: int) -> bool: ... 7394 7395 @overload 7396 def RemoveSizingMaterial(self, name: str) -> bool: ... 7397 7398 @overload 7399 def Contains(self, id: int) -> bool: ... 7400 7401 @overload 7402 def Get(self, id: int) -> SizingMaterial: ... 7403 7404 def Get(self, item1 = None) -> SizingMaterial: 7405 if isinstance(item1, str): 7406 return SizingMaterial(self._Entity.Get(item1)) 7407 7408 if isinstance(item1, int): 7409 return SizingMaterial(super().Get(item1)) 7410 7411 return self._Entity.Get(item1) 7412 7413 def Contains(self, item1 = None) -> bool: 7414 if isinstance(item1, str): 7415 return self._Entity.Contains(item1) 7416 7417 if isinstance(item1, int): 7418 return bool(super().Contains(item1)) 7419 7420 return self._Entity.Contains(item1) 7421 7422 def AddSizingMaterial(self, item1 = None) -> bool: 7423 if isinstance(item1, int): 7424 return self._Entity.AddSizingMaterial(item1) 7425 7426 if isinstance(item1, str): 7427 return self._Entity.AddSizingMaterial(item1) 7428 7429 return self._Entity.AddSizingMaterial(item1) 7430 7431 def RemoveSizingMaterial(self, item1 = None) -> bool: 7432 if isinstance(item1, int): 7433 return self._Entity.RemoveSizingMaterial(item1) 7434 7435 if isinstance(item1, str): 7436 return self._Entity.RemoveSizingMaterial(item1) 7437 7438 return self._Entity.RemoveSizingMaterial(item1) 7439 7440 def __getitem__(self, index: int): 7441 return self.SizingMaterialColList[index] 7442 7443 def __iter__(self): 7444 yield from self.SizingMaterialColList 7445 7446 def __len__(self): 7447 return len(self.SizingMaterialColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7450class ZoneOverride(IdEntity): 7451 def __init__(self, zoneOverride: _api.ZoneOverride): 7452 self._Entity = zoneOverride 7453 7454 @property 7455 def AllowMaterials(self) -> bool: 7456 return self._Entity.AllowMaterials 7457 7458 @property 7459 def ProjectId(self) -> int: 7460 return self._Entity.ProjectId 7461 7462 @property 7463 def DesignId(self) -> int: 7464 return self._Entity.DesignId 7465 7466 @property 7467 def FamilyId(self) -> types.BeamPanelFamily: 7468 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7469 7470 @property 7471 def ConceptId(self) -> int: 7472 return self._Entity.ConceptId 7473 7474 @property 7475 def VariableId(self) -> int: 7476 return self._Entity.VariableId 7477 7478 @property 7479 def MinBound(self) -> float: 7480 return self._Entity.MinBound 7481 7482 @property 7483 def MaxBound(self) -> float: 7484 return self._Entity.MaxBound 7485 7486 @property 7487 def StepSize(self) -> float: 7488 return self._Entity.StepSize 7489 7490 @property 7491 def MinPlies(self) -> int: 7492 return self._Entity.MinPlies 7493 7494 @property 7495 def MaxPlies(self) -> int: 7496 return self._Entity.MaxPlies 7497 7498 @property 7499 def PlyStepSize(self) -> int: 7500 return self._Entity.PlyStepSize 7501 7502 @property 7503 def InputMode(self) -> types.VariableInputMode: 7504 return types.VariableInputMode[self._Entity.InputMode.ToString()] 7505 7506 @property 7507 def SizingMaterials(self) -> SizingMaterialCol: 7508 result = self._Entity.SizingMaterials 7509 return SizingMaterialCol(result) if result is not None else None 7510 7511 @property 7512 def AnalysisValue(self) -> float: 7513 return self._Entity.AnalysisValue 7514 7515 @property 7516 def AnalysisMaterial(self) -> str: 7517 return self._Entity.AnalysisMaterial 7518 7519 @property 7520 def AnalysisMaterialType(self) -> types.MaterialType: 7521 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7522 7523 @MinBound.setter 7524 def MinBound(self, value: float) -> None: 7525 self._Entity.MinBound = value 7526 7527 @MaxBound.setter 7528 def MaxBound(self, value: float) -> None: 7529 self._Entity.MaxBound = value 7530 7531 @StepSize.setter 7532 def StepSize(self, value: float) -> None: 7533 self._Entity.StepSize = value 7534 7535 @MinPlies.setter 7536 def MinPlies(self, value: int) -> None: 7537 self._Entity.MinPlies = value 7538 7539 @MaxPlies.setter 7540 def MaxPlies(self, value: int) -> None: 7541 self._Entity.MaxPlies = value 7542 7543 @PlyStepSize.setter 7544 def PlyStepSize(self, value: int) -> None: 7545 self._Entity.PlyStepSize = value 7546 7547 @AnalysisValue.setter 7548 def AnalysisValue(self, value: float) -> None: 7549 self._Entity.AnalysisValue = value 7550 7551 @AnalysisMaterial.setter 7552 def AnalysisMaterial(self, value: str) -> None: 7553 self._Entity.AnalysisMaterial = value
Represents an entity with an ID.
7556class ToolingConstraint(IdNameEntity): 7557 ''' 7558 Tooling constraints are a feature of Design Properties for Zones. 7559 ''' 7560 def __init__(self, toolingConstraint: _api.ToolingConstraint): 7561 self._Entity = toolingConstraint 7562 7563 @property 7564 def ConstraintMax(self) -> float: 7565 return self._Entity.ConstraintMax 7566 7567 @property 7568 def ConstraintMin(self) -> float: 7569 return self._Entity.ConstraintMin 7570 7571 @property 7572 def ConstraintValue(self) -> float: 7573 return self._Entity.ConstraintValue 7574 7575 @property 7576 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7577 ''' 7578 Defines which selection a given tooling constraint is currently set to. 7579 ''' 7580 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()] 7581 7582 def SetToAnyValue(self) -> None: 7583 return self._Entity.SetToAnyValue() 7584 7585 def SetToInequality(self, value: float) -> None: 7586 return self._Entity.SetToInequality(value) 7587 7588 def SetToRange(self, min: float, max: float) -> None: 7589 return self._Entity.SetToRange(min, max) 7590 7591 def SetToValue(self, value: float) -> None: 7592 return self._Entity.SetToValue(value)
Tooling constraints are a feature of Design Properties for Zones.
7575 @property 7576 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7577 ''' 7578 Defines which selection a given tooling constraint is currently set to. 7579 ''' 7580 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()]
Defines which selection a given tooling constraint is currently set to.
Inherited Members
7595class ZoneOverrideCol(IdEntityCol[ZoneOverride]): 7596 def __init__(self, zoneOverrideCol: _api.ZoneOverrideCol): 7597 self._Entity = zoneOverrideCol 7598 self._CollectedClass = ZoneOverride 7599 7600 @property 7601 def ZoneOverrideColList(self) -> tuple[ZoneOverride]: 7602 return tuple([ZoneOverride(zoneOverrideCol) for zoneOverrideCol in self._Entity]) 7603 7604 def Get(self, zoneNumber: int) -> ZoneOverride: 7605 return ZoneOverride(self._Entity.Get(zoneNumber)) 7606 7607 def __getitem__(self, index: int): 7608 return self.ZoneOverrideColList[index] 7609 7610 def __iter__(self): 7611 yield from self.ZoneOverrideColList 7612 7613 def __len__(self): 7614 return len(self.ZoneOverrideColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7617class DesignVariable(IdEntity): 7618 ''' 7619 Holds design variable data. 7620 Min, max, steps, materials. 7621 ''' 7622 def __init__(self, designVariable: _api.DesignVariable): 7623 self._Entity = designVariable 7624 7625 @property 7626 def VariableParameter(self) -> types.VariableParameter: 7627 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 7628 7629 @property 7630 def AllowMaterials(self) -> bool: 7631 return self._Entity.AllowMaterials 7632 7633 @property 7634 def Max(self) -> float: 7635 return self._Entity.Max 7636 7637 @property 7638 def Min(self) -> float: 7639 return self._Entity.Min 7640 7641 @property 7642 def Name(self) -> str: 7643 return self._Entity.Name 7644 7645 @property 7646 def StepSize(self) -> float: 7647 return self._Entity.StepSize 7648 7649 @property 7650 def UseAnalysis(self) -> bool: 7651 return self._Entity.UseAnalysis 7652 7653 @property 7654 def AnalysisMaterial(self) -> str: 7655 return self._Entity.AnalysisMaterial 7656 7657 @property 7658 def AnalysisMaterialType(self) -> types.MaterialType: 7659 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7660 7661 @property 7662 def SizingMaterialType(self) -> types.MaterialType: 7663 return types.MaterialType[self._Entity.SizingMaterialType.ToString()] 7664 7665 @property 7666 def AnalysisValue(self) -> float: 7667 return self._Entity.AnalysisValue 7668 7669 @property 7670 def Overrides(self) -> ZoneOverrideCol: 7671 result = self._Entity.Overrides 7672 return ZoneOverrideCol(result) if result is not None else None 7673 7674 @Max.setter 7675 def Max(self, value: float) -> None: 7676 self._Entity.Max = value 7677 7678 @Min.setter 7679 def Min(self, value: float) -> None: 7680 self._Entity.Min = value 7681 7682 @StepSize.setter 7683 def StepSize(self, value: float) -> None: 7684 self._Entity.StepSize = value 7685 7686 @UseAnalysis.setter 7687 def UseAnalysis(self, value: bool) -> None: 7688 self._Entity.UseAnalysis = value 7689 7690 @AnalysisMaterial.setter 7691 def AnalysisMaterial(self, value: str) -> None: 7692 self._Entity.AnalysisMaterial = value 7693 7694 @AnalysisValue.setter 7695 def AnalysisValue(self, value: float) -> None: 7696 self._Entity.AnalysisValue = value 7697 7698 @overload 7699 def AddMaterials(self, materialIds: set[int]) -> None: ... 7700 7701 @overload 7702 def AddMaterials(self, materialNames: set[str]) -> None: ... 7703 7704 def GetSizingMaterials(self) -> list[int]: 7705 ''' 7706 Get a list of materials used for sizing, if they exist. 7707 ''' 7708 return [int32 for int32 in self._Entity.GetSizingMaterials()] 7709 7710 def RemoveSizingMaterials(self, materialIds: tuple[int] = None) -> None: 7711 materialIdsList = MakeCSharpIntList(materialIds) 7712 materialIdsEnumerable = IEnumerable(materialIdsList) 7713 return self._Entity.RemoveSizingMaterials(materialIds if materialIds is None else materialIdsEnumerable) 7714 7715 def GetAnalysisMaterial(self) -> int: 7716 ''' 7717 Get the material used for analysis, if it exists. 7718 ''' 7719 return self._Entity.GetAnalysisMaterial() 7720 7721 def RemoveAnalysisMaterial(self) -> None: 7722 ''' 7723 Remove the analysis material assigned to this variable. 7724 ''' 7725 return self._Entity.RemoveAnalysisMaterial() 7726 7727 def AddMaterials(self, item1 = None) -> None: 7728 if isinstance(item1, set): 7729 materialIdsSet = HashSet[int]() 7730 if item1 is not None: 7731 for thing in item1: 7732 if thing is not None: 7733 materialIdsSet.Add(thing) 7734 return self._Entity.AddMaterials(materialIdsSet) 7735 7736 if isinstance(item1, set): 7737 materialNamesSet = HashSet[str]() 7738 if item1 is not None: 7739 for thing in item1: 7740 if thing is not None: 7741 materialNamesSet.Add(thing) 7742 return self._Entity.AddMaterials(materialNamesSet) 7743 7744 return self._Entity.AddMaterials(item1)
Holds design variable data. Min, max, steps, materials.
7727 def AddMaterials(self, item1 = None) -> None: 7728 if isinstance(item1, set): 7729 materialIdsSet = HashSet[int]() 7730 if item1 is not None: 7731 for thing in item1: 7732 if thing is not None: 7733 materialIdsSet.Add(thing) 7734 return self._Entity.AddMaterials(materialIdsSet) 7735 7736 if isinstance(item1, set): 7737 materialNamesSet = HashSet[str]() 7738 if item1 is not None: 7739 for thing in item1: 7740 if thing is not None: 7741 materialNamesSet.Add(thing) 7742 return self._Entity.AddMaterials(materialNamesSet) 7743 7744 return self._Entity.AddMaterials(item1)
7704 def GetSizingMaterials(self) -> list[int]: 7705 ''' 7706 Get a list of materials used for sizing, if they exist. 7707 ''' 7708 return [int32 for int32 in self._Entity.GetSizingMaterials()]
Get a list of materials used for sizing, if they exist.
7715 def GetAnalysisMaterial(self) -> int: 7716 ''' 7717 Get the material used for analysis, if it exists. 7718 ''' 7719 return self._Entity.GetAnalysisMaterial()
Get the material used for analysis, if it exists.
7747class ToolingConstraintCol(IdNameEntityCol[ToolingConstraint]): 7748 def __init__(self, toolingConstraintCol: _api.ToolingConstraintCol): 7749 self._Entity = toolingConstraintCol 7750 self._CollectedClass = ToolingConstraint 7751 7752 @property 7753 def ToolingConstraintColList(self) -> tuple[ToolingConstraint]: 7754 return tuple([ToolingConstraint(toolingConstraintCol) for toolingConstraintCol in self._Entity]) 7755 7756 @overload 7757 def Get(self, name: str) -> ToolingConstraint: ... 7758 7759 @overload 7760 def Get(self, id: int) -> ToolingConstraint: ... 7761 7762 def Get(self, item1 = None) -> ToolingConstraint: 7763 if isinstance(item1, str): 7764 return ToolingConstraint(super().Get(item1)) 7765 7766 if isinstance(item1, int): 7767 return ToolingConstraint(super().Get(item1)) 7768 7769 return self._Entity.Get(item1) 7770 7771 def __getitem__(self, index: int): 7772 return self.ToolingConstraintColList[index] 7773 7774 def __iter__(self): 7775 yield from self.ToolingConstraintColList 7776 7777 def __len__(self): 7778 return len(self.ToolingConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7781class DesignVariableCol(IdEntityCol[DesignVariable]): 7782 def __init__(self, designVariableCol: _api.DesignVariableCol): 7783 self._Entity = designVariableCol 7784 self._CollectedClass = DesignVariable 7785 7786 @property 7787 def DesignVariableColList(self) -> tuple[DesignVariable]: 7788 return tuple([DesignVariable(designVariableCol) for designVariableCol in self._Entity]) 7789 7790 @overload 7791 def Get(self, parameterId: types.VariableParameter) -> DesignVariable: ... 7792 7793 @overload 7794 def Get(self, id: int) -> DesignVariable: ... 7795 7796 def Get(self, item1 = None) -> DesignVariable: 7797 if isinstance(item1, types.VariableParameter): 7798 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 7799 7800 if isinstance(item1, int): 7801 return DesignVariable(super().Get(item1)) 7802 7803 return self._Entity.Get(_types.VariableParameter(item1.value)) 7804 7805 def __getitem__(self, index: int): 7806 return self.DesignVariableColList[index] 7807 7808 def __iter__(self): 7809 yield from self.DesignVariableColList 7810 7811 def __len__(self): 7812 return len(self.DesignVariableColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7796 def Get(self, item1 = None) -> DesignVariable: 7797 if isinstance(item1, types.VariableParameter): 7798 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 7799 7800 if isinstance(item1, int): 7801 return DesignVariable(super().Get(item1)) 7802 7803 return self._Entity.Get(_types.VariableParameter(item1.value))
Inherited Members
7815class ZoneDesignProperty(DesignProperty): 7816 def __init__(self, zoneDesignProperty: _api.ZoneDesignProperty): 7817 self._Entity = zoneDesignProperty 7818 7819 @property 7820 def FamilyId(self) -> types.BeamPanelFamily: 7821 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7822 7823 @property 7824 def ConceptId(self) -> int: 7825 return self._Entity.ConceptId 7826 7827 @property 7828 def FamilyConceptUID(self) -> types.FamilyConceptUID: 7829 return types.FamilyConceptUID[self._Entity.FamilyConceptUID.ToString()] 7830 7831 @property 7832 def ToolingConstraints(self) -> ToolingConstraintCol: 7833 result = self._Entity.ToolingConstraints 7834 return ToolingConstraintCol(result) if result is not None else None 7835 7836 @property 7837 def DesignVariables(self) -> DesignVariableCol: 7838 result = self._Entity.DesignVariables 7839 return DesignVariableCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
7842class BulkUpdaterBase(ABC): 7843 def __init__(self, bulkUpdaterBase: _api.BulkUpdaterBase): 7844 self._Entity = bulkUpdaterBase 7845 7846 def Update(self, func: Action) -> None: 7847 entityType = self._Entity.GetType().BaseType.GenericTypeArguments[0] 7848 funcAction = Action[entityType](func) 7849 return self._Entity.Update(funcAction)
7852class LoadPropertyUserRowBulkUpdater(BulkUpdaterBase): 7853 def __init__(self, loadPropertyUserRowBulkUpdater: _api.LoadPropertyUserRowBulkUpdater): 7854 self._Entity = loadPropertyUserRowBulkUpdater
Inherited Members
7857class LoadPropertyUserRow(IdNameEntity): 7858 def __init__(self, loadPropertyUserRow: _api.LoadPropertyUserRow): 7859 self._Entity = loadPropertyUserRow 7860 7861 @property 7862 def LoadScenarioId(self) -> int: 7863 return self._Entity.LoadScenarioId 7864 7865 @property 7866 def LoadPropertyId(self) -> int: 7867 return self._Entity.LoadPropertyId 7868 7869 @property 7870 def Type(self) -> types.LoadSetType: 7871 return types.LoadSetType[self._Entity.Type.ToString()] 7872 7873 @property 7874 def ReferenceTemperature(self) -> float: 7875 return self._Entity.ReferenceTemperature 7876 7877 @property 7878 def PressureOrTemperature(self) -> float: 7879 return self._Entity.PressureOrTemperature 7880 7881 @property 7882 def LimitFactor(self) -> float: 7883 return self._Entity.LimitFactor 7884 7885 @property 7886 def UltimateFactor(self) -> float: 7887 return self._Entity.UltimateFactor 7888 7889 @ReferenceTemperature.setter 7890 def ReferenceTemperature(self, value: float) -> None: 7891 self._Entity.ReferenceTemperature = value 7892 7893 @PressureOrTemperature.setter 7894 def PressureOrTemperature(self, value: float) -> None: 7895 self._Entity.PressureOrTemperature = value 7896 7897 @LimitFactor.setter 7898 def LimitFactor(self, value: float) -> None: 7899 self._Entity.LimitFactor = value 7900 7901 @UltimateFactor.setter 7902 def UltimateFactor(self, value: float) -> None: 7903 self._Entity.UltimateFactor = value
Represents an entity with an ID and Name.
Inherited Members
7906class LoadPropertyUserBeamRow(LoadPropertyUserRow): 7907 def __init__(self, loadPropertyUserBeamRow: _api.LoadPropertyUserBeamRow): 7908 self._Entity = loadPropertyUserBeamRow 7909 7910 @property 7911 def M1A(self) -> float: 7912 return self._Entity.M1A 7913 7914 @property 7915 def M2A(self) -> float: 7916 return self._Entity.M2A 7917 7918 @property 7919 def M1B(self) -> float: 7920 return self._Entity.M1B 7921 7922 @property 7923 def M2B(self) -> float: 7924 return self._Entity.M2B 7925 7926 @property 7927 def V1(self) -> float: 7928 return self._Entity.V1 7929 7930 @property 7931 def V2(self) -> float: 7932 return self._Entity.V2 7933 7934 @property 7935 def Axial(self) -> float: 7936 return self._Entity.Axial 7937 7938 @property 7939 def Torque(self) -> float: 7940 return self._Entity.Torque 7941 7942 @M1A.setter 7943 def M1A(self, value: float) -> None: 7944 self._Entity.M1A = value 7945 7946 @M2A.setter 7947 def M2A(self, value: float) -> None: 7948 self._Entity.M2A = value 7949 7950 @M1B.setter 7951 def M1B(self, value: float) -> None: 7952 self._Entity.M1B = value 7953 7954 @M2B.setter 7955 def M2B(self, value: float) -> None: 7956 self._Entity.M2B = value 7957 7958 @V1.setter 7959 def V1(self, value: float) -> None: 7960 self._Entity.V1 = value 7961 7962 @V2.setter 7963 def V2(self, value: float) -> None: 7964 self._Entity.V2 = value 7965 7966 @Axial.setter 7967 def Axial(self, value: float) -> None: 7968 self._Entity.Axial = value 7969 7970 @Torque.setter 7971 def Torque(self, value: float) -> None: 7972 self._Entity.Torque = value
Represents an entity with an ID and Name.
7975class LoadPropertyUserFeaBeamRow(LoadPropertyUserBeamRow): 7976 def __init__(self, loadPropertyUserFeaBeamRow: _api.LoadPropertyUserFeaBeamRow): 7977 self._Entity = loadPropertyUserFeaBeamRow 7978 7979 def SetName(self, name: str) -> None: 7980 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
7983class LoadPropertyUserFeaBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 7984 def __init__(self, loadPropertyUserFeaBeamRowBulkUpdater: _api.LoadPropertyUserFeaBeamRowBulkUpdater): 7985 self._Entity = loadPropertyUserFeaBeamRowBulkUpdater 7986 7987 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 7988 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 7989 if items is not None: 7990 for thing in items: 7991 if thing is not None: 7992 itemsList.Add(thing._Entity) 7993 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
7987 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 7988 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 7989 if items is not None: 7990 for thing in items: 7991 if thing is not None: 7992 itemsList.Add(thing._Entity) 7993 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
7996class LoadPropertyUserPanelJointRow(LoadPropertyUserRow): 7997 def __init__(self, loadPropertyUserPanelJointRow: _api.LoadPropertyUserPanelJointRow): 7998 self._Entity = loadPropertyUserPanelJointRow 7999 8000 @property 8001 def Nx(self) -> float: 8002 return self._Entity.Nx 8003 8004 @property 8005 def Ny(self) -> float: 8006 return self._Entity.Ny 8007 8008 @property 8009 def Nxy(self) -> float: 8010 return self._Entity.Nxy 8011 8012 @property 8013 def Mx(self) -> float: 8014 return self._Entity.Mx 8015 8016 @property 8017 def My(self) -> float: 8018 return self._Entity.My 8019 8020 @property 8021 def Mxy(self) -> float: 8022 return self._Entity.Mxy 8023 8024 @property 8025 def Qx(self) -> float: 8026 return self._Entity.Qx 8027 8028 @property 8029 def Qy(self) -> float: 8030 return self._Entity.Qy 8031 8032 @Nx.setter 8033 def Nx(self, value: float) -> None: 8034 self._Entity.Nx = value 8035 8036 @Ny.setter 8037 def Ny(self, value: float) -> None: 8038 self._Entity.Ny = value 8039 8040 @Nxy.setter 8041 def Nxy(self, value: float) -> None: 8042 self._Entity.Nxy = value 8043 8044 @Mx.setter 8045 def Mx(self, value: float) -> None: 8046 self._Entity.Mx = value 8047 8048 @My.setter 8049 def My(self, value: float) -> None: 8050 self._Entity.My = value 8051 8052 @Mxy.setter 8053 def Mxy(self, value: float) -> None: 8054 self._Entity.Mxy = value 8055 8056 @Qx.setter 8057 def Qx(self, value: float) -> None: 8058 self._Entity.Qx = value 8059 8060 @Qy.setter 8061 def Qy(self, value: float) -> None: 8062 self._Entity.Qy = value
Represents an entity with an ID and Name.
8065class LoadPropertyUserFeaJointRow(LoadPropertyUserPanelJointRow): 8066 def __init__(self, loadPropertyUserFeaJointRow: _api.LoadPropertyUserFeaJointRow): 8067 self._Entity = loadPropertyUserFeaJointRow 8068 8069 def SetName(self, name: str) -> None: 8070 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8073class LoadPropertyUserFeaJointRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8074 def __init__(self, loadPropertyUserFeaJointRowBulkUpdater: _api.LoadPropertyUserFeaJointRowBulkUpdater): 8075 self._Entity = loadPropertyUserFeaJointRowBulkUpdater 8076 8077 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8078 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8079 if items is not None: 8080 for thing in items: 8081 if thing is not None: 8082 itemsList.Add(thing._Entity) 8083 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8077 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8078 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8079 if items is not None: 8080 for thing in items: 8081 if thing is not None: 8082 itemsList.Add(thing._Entity) 8083 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8086class LoadPropertyUserFeaPanelRow(LoadPropertyUserPanelJointRow): 8087 def __init__(self, loadPropertyUserFeaPanelRow: _api.LoadPropertyUserFeaPanelRow): 8088 self._Entity = loadPropertyUserFeaPanelRow 8089 8090 def SetName(self, name: str) -> None: 8091 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8094class LoadPropertyUserFeaPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8095 def __init__(self, loadPropertyUserFeaPanelRowBulkUpdater: _api.LoadPropertyUserFeaPanelRowBulkUpdater): 8096 self._Entity = loadPropertyUserFeaPanelRowBulkUpdater 8097 8098 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8099 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8100 if items is not None: 8101 for thing in items: 8102 if thing is not None: 8103 itemsList.Add(thing._Entity) 8104 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8098 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8099 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8100 if items is not None: 8101 for thing in items: 8102 if thing is not None: 8103 itemsList.Add(thing._Entity) 8104 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8107class LoadPropertyUserGeneralBeamRow(LoadPropertyUserBeamRow): 8108 def __init__(self, loadPropertyUserGeneralBeamRow: _api.LoadPropertyUserGeneralBeamRow): 8109 self._Entity = loadPropertyUserGeneralBeamRow 8110 8111 @property 8112 def M1A(self) -> float: 8113 return self._Entity.M1A 8114 8115 @property 8116 def M2A(self) -> float: 8117 return self._Entity.M2A 8118 8119 @property 8120 def M1B(self) -> float: 8121 return self._Entity.M1B 8122 8123 @property 8124 def M2B(self) -> float: 8125 return self._Entity.M2B 8126 8127 @property 8128 def V1(self) -> float: 8129 return self._Entity.V1 8130 8131 @property 8132 def V2(self) -> float: 8133 return self._Entity.V2 8134 8135 @property 8136 def Axial(self) -> float: 8137 return self._Entity.Axial 8138 8139 @property 8140 def Torque(self) -> float: 8141 return self._Entity.Torque 8142 8143 @property 8144 def M1AType(self) -> types.BoundaryConditionType: 8145 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8146 8147 @property 8148 def M2AType(self) -> types.BoundaryConditionType: 8149 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8150 8151 @property 8152 def M1BType(self) -> types.BoundaryConditionType: 8153 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8154 8155 @property 8156 def M2BType(self) -> types.BoundaryConditionType: 8157 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8158 8159 @property 8160 def V1Type(self) -> types.BoundaryConditionType: 8161 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8162 8163 @property 8164 def V2Type(self) -> types.BoundaryConditionType: 8165 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8166 8167 @property 8168 def AxialType(self) -> types.BoundaryConditionType: 8169 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8170 8171 @property 8172 def TorqueType(self) -> types.BoundaryConditionType: 8173 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8174 8175 @M1A.setter 8176 def M1A(self, value: float) -> None: 8177 self._Entity.M1A = value 8178 8179 @M2A.setter 8180 def M2A(self, value: float) -> None: 8181 self._Entity.M2A = value 8182 8183 @M1B.setter 8184 def M1B(self, value: float) -> None: 8185 self._Entity.M1B = value 8186 8187 @M2B.setter 8188 def M2B(self, value: float) -> None: 8189 self._Entity.M2B = value 8190 8191 @V1.setter 8192 def V1(self, value: float) -> None: 8193 self._Entity.V1 = value 8194 8195 @V2.setter 8196 def V2(self, value: float) -> None: 8197 self._Entity.V2 = value 8198 8199 @Axial.setter 8200 def Axial(self, value: float) -> None: 8201 self._Entity.Axial = value 8202 8203 @Torque.setter 8204 def Torque(self, value: float) -> None: 8205 self._Entity.Torque = value
Represents an entity with an ID and Name.
8208class LoadPropertyUserGeneralBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8209 def __init__(self, loadPropertyUserGeneralBeamRowBulkUpdater: _api.LoadPropertyUserGeneralBeamRowBulkUpdater): 8210 self._Entity = loadPropertyUserGeneralBeamRowBulkUpdater 8211 8212 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8213 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8214 if items is not None: 8215 for thing in items: 8216 if thing is not None: 8217 itemsList.Add(thing._Entity) 8218 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8212 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8213 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8214 if items is not None: 8215 for thing in items: 8216 if thing is not None: 8217 itemsList.Add(thing._Entity) 8218 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8221class LoadPropertyUserGeneralPanelRow(LoadPropertyUserPanelJointRow): 8222 def __init__(self, loadPropertyUserGeneralPanelRow: _api.LoadPropertyUserGeneralPanelRow): 8223 self._Entity = loadPropertyUserGeneralPanelRow 8224 8225 @property 8226 def Nx(self) -> float: 8227 return self._Entity.Nx 8228 8229 @property 8230 def Ny(self) -> float: 8231 return self._Entity.Ny 8232 8233 @property 8234 def Nxy(self) -> float: 8235 return self._Entity.Nxy 8236 8237 @property 8238 def Mx(self) -> float: 8239 return self._Entity.Mx 8240 8241 @property 8242 def My(self) -> float: 8243 return self._Entity.My 8244 8245 @property 8246 def Mxy(self) -> float: 8247 return self._Entity.Mxy 8248 8249 @property 8250 def Qx(self) -> float: 8251 return self._Entity.Qx 8252 8253 @property 8254 def Qy(self) -> float: 8255 return self._Entity.Qy 8256 8257 @property 8258 def NxType(self) -> types.BoundaryConditionType: 8259 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 8260 8261 @property 8262 def NyType(self) -> types.BoundaryConditionType: 8263 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 8264 8265 @property 8266 def NxyType(self) -> types.BoundaryConditionType: 8267 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 8268 8269 @property 8270 def MxType(self) -> types.BoundaryConditionType: 8271 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 8272 8273 @property 8274 def MyType(self) -> types.BoundaryConditionType: 8275 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 8276 8277 @property 8278 def MxyType(self) -> types.BoundaryConditionType: 8279 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 8280 8281 @property 8282 def QxType(self) -> types.BoundaryConditionType: 8283 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 8284 8285 @property 8286 def QyType(self) -> types.BoundaryConditionType: 8287 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 8288 8289 @Nx.setter 8290 def Nx(self, value: float) -> None: 8291 self._Entity.Nx = value 8292 8293 @Ny.setter 8294 def Ny(self, value: float) -> None: 8295 self._Entity.Ny = value 8296 8297 @Nxy.setter 8298 def Nxy(self, value: float) -> None: 8299 self._Entity.Nxy = value 8300 8301 @Mx.setter 8302 def Mx(self, value: float) -> None: 8303 self._Entity.Mx = value 8304 8305 @My.setter 8306 def My(self, value: float) -> None: 8307 self._Entity.My = value 8308 8309 @Mxy.setter 8310 def Mxy(self, value: float) -> None: 8311 self._Entity.Mxy = value 8312 8313 @Qx.setter 8314 def Qx(self, value: float) -> None: 8315 self._Entity.Qx = value 8316 8317 @Qy.setter 8318 def Qy(self, value: float) -> None: 8319 self._Entity.Qy = value
Represents an entity with an ID and Name.
8322class LoadPropertyUserGeneralPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8323 def __init__(self, loadPropertyUserGeneralPanelRowBulkUpdater: _api.LoadPropertyUserGeneralPanelRowBulkUpdater): 8324 self._Entity = loadPropertyUserGeneralPanelRowBulkUpdater 8325 8326 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8327 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8328 if items is not None: 8329 for thing in items: 8330 if thing is not None: 8331 itemsList.Add(thing._Entity) 8332 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8326 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8327 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8328 if items is not None: 8329 for thing in items: 8330 if thing is not None: 8331 itemsList.Add(thing._Entity) 8332 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8335class LoadPropertyFea(LoadProperty): 8336 def __init__(self, loadPropertyFea: _api.LoadPropertyFea): 8337 self._Entity = loadPropertyFea 8338 8339 @property 8340 def HasNx(self) -> bool: 8341 return self._Entity.HasNx 8342 8343 @property 8344 def HasNy(self) -> bool: 8345 return self._Entity.HasNy 8346 8347 @property 8348 def HasNxy(self) -> bool: 8349 return self._Entity.HasNxy 8350 8351 @property 8352 def HasMx(self) -> bool: 8353 return self._Entity.HasMx 8354 8355 @property 8356 def HasMy(self) -> bool: 8357 return self._Entity.HasMy 8358 8359 @property 8360 def HasMxy(self) -> bool: 8361 return self._Entity.HasMxy 8362 8363 @property 8364 def HasQx(self) -> bool: 8365 return self._Entity.HasQx 8366 8367 @property 8368 def HasQy(self) -> bool: 8369 return self._Entity.HasQy 8370 8371 @property 8372 def HasM1a(self) -> bool: 8373 return self._Entity.HasM1a 8374 8375 @property 8376 def HasM1b(self) -> bool: 8377 return self._Entity.HasM1b 8378 8379 @property 8380 def M2a(self) -> bool: 8381 return self._Entity.M2a 8382 8383 @property 8384 def V1(self) -> bool: 8385 return self._Entity.V1 8386 8387 @property 8388 def V2(self) -> bool: 8389 return self._Entity.V2 8390 8391 @property 8392 def Axial(self) -> bool: 8393 return self._Entity.Axial 8394 8395 @property 8396 def Torque(self) -> bool: 8397 return self._Entity.Torque 8398 8399 @property 8400 def Tension(self) -> bool: 8401 return self._Entity.Tension 8402 8403 @property 8404 def Shear(self) -> bool: 8405 return self._Entity.Shear 8406 8407 @property 8408 def Moment(self) -> bool: 8409 return self._Entity.Moment 8410 8411 @HasNx.setter 8412 def HasNx(self, value: bool) -> None: 8413 self._Entity.HasNx = value 8414 8415 @HasNy.setter 8416 def HasNy(self, value: bool) -> None: 8417 self._Entity.HasNy = value 8418 8419 @HasNxy.setter 8420 def HasNxy(self, value: bool) -> None: 8421 self._Entity.HasNxy = value 8422 8423 @HasMx.setter 8424 def HasMx(self, value: bool) -> None: 8425 self._Entity.HasMx = value 8426 8427 @HasMy.setter 8428 def HasMy(self, value: bool) -> None: 8429 self._Entity.HasMy = value 8430 8431 @HasMxy.setter 8432 def HasMxy(self, value: bool) -> None: 8433 self._Entity.HasMxy = value 8434 8435 @HasQx.setter 8436 def HasQx(self, value: bool) -> None: 8437 self._Entity.HasQx = value 8438 8439 @HasQy.setter 8440 def HasQy(self, value: bool) -> None: 8441 self._Entity.HasQy = value 8442 8443 @HasM1a.setter 8444 def HasM1a(self, value: bool) -> None: 8445 self._Entity.HasM1a = value 8446 8447 @HasM1b.setter 8448 def HasM1b(self, value: bool) -> None: 8449 self._Entity.HasM1b = value 8450 8451 @M2a.setter 8452 def M2a(self, value: bool) -> None: 8453 self._Entity.M2a = value 8454 8455 @V1.setter 8456 def V1(self, value: bool) -> None: 8457 self._Entity.V1 = value 8458 8459 @V2.setter 8460 def V2(self, value: bool) -> None: 8461 self._Entity.V2 = value 8462 8463 @Axial.setter 8464 def Axial(self, value: bool) -> None: 8465 self._Entity.Axial = value 8466 8467 @Torque.setter 8468 def Torque(self, value: bool) -> None: 8469 self._Entity.Torque = value 8470 8471 @Tension.setter 8472 def Tension(self, value: bool) -> None: 8473 self._Entity.Tension = value 8474 8475 @Shear.setter 8476 def Shear(self, value: bool) -> None: 8477 self._Entity.Shear = value 8478 8479 @Moment.setter 8480 def Moment(self, value: bool) -> None: 8481 self._Entity.Moment = value
Represents an entity with an ID and Name.
Inherited Members
8484class LoadPropertyAverage(LoadPropertyFea): 8485 def __init__(self, loadPropertyAverage: _api.LoadPropertyAverage): 8486 self._Entity = loadPropertyAverage 8487 8488 @property 8489 def ElementType(self) -> types.LoadPropertyAverageElementType: 8490 return types.LoadPropertyAverageElementType[self._Entity.ElementType.ToString()] 8491 8492 @ElementType.setter 8493 def ElementType(self, value: types.LoadPropertyAverageElementType) -> None: 8494 self._Entity.ElementType = _types.LoadPropertyAverageElementType(value.value)
Represents an entity with an ID and Name.
8497class LoadPropertyElementBased(LoadPropertyFea): 8498 def __init__(self, loadPropertyElementBased: _api.LoadPropertyElementBased): 8499 self._Entity = loadPropertyElementBased
Represents an entity with an ID and Name.
8502class LoadPropertyNeighborAverage(LoadPropertyFea): 8503 def __init__(self, loadPropertyNeighborAverage: _api.LoadPropertyNeighborAverage): 8504 self._Entity = loadPropertyNeighborAverage 8505 8506 @property 8507 def NumberOfNeighborsPerSide(self) -> int: 8508 return self._Entity.NumberOfNeighborsPerSide 8509 8510 @NumberOfNeighborsPerSide.setter 8511 def NumberOfNeighborsPerSide(self, value: int) -> None: 8512 self._Entity.NumberOfNeighborsPerSide = value
Represents an entity with an ID and Name.
8515class LoadPropertyPeakLoad(LoadPropertyFea): 8516 def __init__(self, loadPropertyPeakLoad: _api.LoadPropertyPeakLoad): 8517 self._Entity = loadPropertyPeakLoad 8518 8519 @property 8520 def ElementScope(self) -> types.LoadPropertyPeakElementScope: 8521 return types.LoadPropertyPeakElementScope[self._Entity.ElementScope.ToString()] 8522 8523 @ElementScope.setter 8524 def ElementScope(self, value: types.LoadPropertyPeakElementScope) -> None: 8525 self._Entity.ElementScope = _types.LoadPropertyPeakElementScope(value.value)
Represents an entity with an ID and Name.
8528class LoadPropertyStatistical(LoadPropertyFea): 8529 def __init__(self, loadPropertyStatistical: _api.LoadPropertyStatistical): 8530 self._Entity = loadPropertyStatistical 8531 8532 @property 8533 def NSigma(self) -> int: 8534 return self._Entity.NSigma 8535 8536 @NSigma.setter 8537 def NSigma(self, value: int) -> None: 8538 self._Entity.NSigma = value
Represents an entity with an ID and Name.
8541class LoadPropertyUserFeaRowCol(IdNameEntityCol, Generic[T]): 8542 def __init__(self, loadPropertyUserFeaRowCol: _api.LoadPropertyUserFeaRowCol): 8543 self._Entity = loadPropertyUserFeaRowCol 8544 self._CollectedClass = T 8545 8546 @property 8547 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8548 if self._Entity.Count() <= 0: 8549 return () 8550 thisClass = type(self._Entity._items[0]).__name__ 8551 givenClass = T 8552 for subclass in T.__subclasses__(): 8553 if subclass.__name__ == thisClass: 8554 givenClass = subclass 8555 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity]) 8556 8557 def AddScenario(self, name: str = None) -> T: 8558 return self._Entity.AddScenario(name) 8559 8560 @overload 8561 def DeleteScenario(self, scenarioId: int) -> bool: ... 8562 8563 @overload 8564 def DeleteScenario(self, scenarioName: str) -> bool: ... 8565 8566 @overload 8567 def Get(self, name: str) -> T: ... 8568 8569 @overload 8570 def Get(self, id: int) -> T: ... 8571 8572 def DeleteScenario(self, item1 = None) -> bool: 8573 if isinstance(item1, int): 8574 return self._Entity.DeleteScenario(item1) 8575 8576 if isinstance(item1, str): 8577 return self._Entity.DeleteScenario(item1) 8578 8579 return self._Entity.DeleteScenario(item1) 8580 8581 def Get(self, item1 = None) -> T: 8582 if isinstance(item1, str): 8583 return super().Get(item1) 8584 8585 if isinstance(item1, int): 8586 return super().Get(item1) 8587 8588 return self._Entity.Get(item1) 8589 8590 def __getitem__(self, index: int): 8591 return self.LoadPropertyUserFeaRowColList[index] 8592 8593 def __iter__(self): 8594 yield from self.LoadPropertyUserFeaRowColList 8595 8596 def __len__(self): 8597 return len(self.LoadPropertyUserFeaRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8546 @property 8547 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8548 if self._Entity.Count() <= 0: 8549 return () 8550 thisClass = type(self._Entity._items[0]).__name__ 8551 givenClass = T 8552 for subclass in T.__subclasses__(): 8553 if subclass.__name__ == thisClass: 8554 givenClass = subclass 8555 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity])
Inherited Members
8600class LoadPropertyUserFeaBeamRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaBeamRow]): 8601 def __init__(self, loadPropertyUserFeaBeamRowCol: _api.LoadPropertyUserFeaBeamRowCol): 8602 self._Entity = loadPropertyUserFeaBeamRowCol 8603 self._CollectedClass = LoadPropertyUserFeaBeamRow 8604 8605 @property 8606 def LoadPropertyUserFeaBeamRowColList(self) -> tuple[LoadPropertyUserFeaBeamRow]: 8607 return tuple([LoadPropertyUserFeaBeamRow(loadPropertyUserFeaBeamRowCol) for loadPropertyUserFeaBeamRowCol in self._Entity]) 8608 8609 @overload 8610 def DeleteScenario(self, scenarioId: int) -> bool: ... 8611 8612 @overload 8613 def DeleteScenario(self, scenarioName: str) -> bool: ... 8614 8615 @overload 8616 def Get(self, name: str) -> LoadPropertyUserFeaBeamRow: ... 8617 8618 @overload 8619 def Get(self, id: int) -> LoadPropertyUserFeaBeamRow: ... 8620 8621 def DeleteScenario(self, item1 = None) -> bool: 8622 if isinstance(item1, int): 8623 return bool(super().DeleteScenario(item1)) 8624 8625 if isinstance(item1, str): 8626 return bool(super().DeleteScenario(item1)) 8627 8628 return self._Entity.DeleteScenario(item1) 8629 8630 def Get(self, item1 = None) -> LoadPropertyUserFeaBeamRow: 8631 if isinstance(item1, str): 8632 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8633 8634 if isinstance(item1, int): 8635 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8636 8637 return self._Entity.Get(item1) 8638 8639 def __getitem__(self, index: int): 8640 return self.LoadPropertyUserFeaBeamRowColList[index] 8641 8642 def __iter__(self): 8643 yield from self.LoadPropertyUserFeaBeamRowColList 8644 8645 def __len__(self): 8646 return len(self.LoadPropertyUserFeaBeamRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8649class LoadPropertyUserFeaBeam(LoadProperty): 8650 def __init__(self, loadPropertyUserFeaBeam: _api.LoadPropertyUserFeaBeam): 8651 self._Entity = loadPropertyUserFeaBeam 8652 8653 @property 8654 def UserFeaRows(self) -> LoadPropertyUserFeaBeamRowCol: 8655 result = self._Entity.UserFeaRows 8656 return LoadPropertyUserFeaBeamRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
8659class LoadPropertyUserFeaJointRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaJointRow]): 8660 def __init__(self, loadPropertyUserFeaJointRowCol: _api.LoadPropertyUserFeaJointRowCol): 8661 self._Entity = loadPropertyUserFeaJointRowCol 8662 self._CollectedClass = LoadPropertyUserFeaJointRow 8663 8664 @property 8665 def LoadPropertyUserFeaJointRowColList(self) -> tuple[LoadPropertyUserFeaJointRow]: 8666 return tuple([LoadPropertyUserFeaJointRow(loadPropertyUserFeaJointRowCol) for loadPropertyUserFeaJointRowCol in self._Entity]) 8667 8668 @overload 8669 def DeleteScenario(self, scenarioId: int) -> bool: ... 8670 8671 @overload 8672 def DeleteScenario(self, scenarioName: str) -> bool: ... 8673 8674 @overload 8675 def Get(self, name: str) -> LoadPropertyUserFeaJointRow: ... 8676 8677 @overload 8678 def Get(self, id: int) -> LoadPropertyUserFeaJointRow: ... 8679 8680 def DeleteScenario(self, item1 = None) -> bool: 8681 if isinstance(item1, int): 8682 return bool(super().DeleteScenario(item1)) 8683 8684 if isinstance(item1, str): 8685 return bool(super().DeleteScenario(item1)) 8686 8687 return self._Entity.DeleteScenario(item1) 8688 8689 def Get(self, item1 = None) -> LoadPropertyUserFeaJointRow: 8690 if isinstance(item1, str): 8691 return LoadPropertyUserFeaJointRow(super().Get(item1)) 8692 8693 if isinstance(item1, int): 8694 return LoadPropertyUserFeaJointRow(super().Get(item1)) 8695 8696 return self._Entity.Get(item1) 8697 8698 def __getitem__(self, index: int): 8699 return self.LoadPropertyUserFeaJointRowColList[index] 8700 8701 def __iter__(self): 8702 yield from self.LoadPropertyUserFeaJointRowColList 8703 8704 def __len__(self): 8705 return len(self.LoadPropertyUserFeaJointRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8708class LoadPropertyUserFeaJoint(LoadProperty): 8709 def __init__(self, loadPropertyUserFeaJoint: _api.LoadPropertyUserFeaJoint): 8710 self._Entity = loadPropertyUserFeaJoint 8711 8712 @property 8713 def UserFeaRows(self) -> LoadPropertyUserFeaJointRowCol: 8714 result = self._Entity.UserFeaRows 8715 return LoadPropertyUserFeaJointRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
8718class LoadPropertyUserFeaPanelRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaPanelRow]): 8719 def __init__(self, loadPropertyUserFeaPanelRowCol: _api.LoadPropertyUserFeaPanelRowCol): 8720 self._Entity = loadPropertyUserFeaPanelRowCol 8721 self._CollectedClass = LoadPropertyUserFeaPanelRow 8722 8723 @property 8724 def LoadPropertyUserFeaPanelRowColList(self) -> tuple[LoadPropertyUserFeaPanelRow]: 8725 return tuple([LoadPropertyUserFeaPanelRow(loadPropertyUserFeaPanelRowCol) for loadPropertyUserFeaPanelRowCol in self._Entity]) 8726 8727 @overload 8728 def DeleteScenario(self, scenarioId: int) -> bool: ... 8729 8730 @overload 8731 def DeleteScenario(self, scenarioName: str) -> bool: ... 8732 8733 @overload 8734 def Get(self, name: str) -> LoadPropertyUserFeaPanelRow: ... 8735 8736 @overload 8737 def Get(self, id: int) -> LoadPropertyUserFeaPanelRow: ... 8738 8739 def DeleteScenario(self, item1 = None) -> bool: 8740 if isinstance(item1, int): 8741 return bool(super().DeleteScenario(item1)) 8742 8743 if isinstance(item1, str): 8744 return bool(super().DeleteScenario(item1)) 8745 8746 return self._Entity.DeleteScenario(item1) 8747 8748 def Get(self, item1 = None) -> LoadPropertyUserFeaPanelRow: 8749 if isinstance(item1, str): 8750 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 8751 8752 if isinstance(item1, int): 8753 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 8754 8755 return self._Entity.Get(item1) 8756 8757 def __getitem__(self, index: int): 8758 return self.LoadPropertyUserFeaPanelRowColList[index] 8759 8760 def __iter__(self): 8761 yield from self.LoadPropertyUserFeaPanelRowColList 8762 8763 def __len__(self): 8764 return len(self.LoadPropertyUserFeaPanelRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8767class LoadPropertyUserFeaPanel(LoadProperty): 8768 def __init__(self, loadPropertyUserFeaPanel: _api.LoadPropertyUserFeaPanel): 8769 self._Entity = loadPropertyUserFeaPanel 8770 8771 @property 8772 def UserFeaRows(self) -> LoadPropertyUserFeaPanelRowCol: 8773 result = self._Entity.UserFeaRows 8774 return LoadPropertyUserFeaPanelRowCol(result) if result is not None else None 8775 8776 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 8777 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Represents an entity with an ID and Name.
Inherited Members
8780class LoadPropertyUserGeneralDoubleRow(IdNameEntity): 8781 def __init__(self, loadPropertyUserGeneralDoubleRow: _api.LoadPropertyUserGeneralDoubleRow): 8782 self._Entity = loadPropertyUserGeneralDoubleRow 8783 8784 @property 8785 def MechanicalRow(self) -> LoadPropertyUserRow: 8786 thisClass = type(self._Entity.MechanicalRow).__name__ 8787 givenClass = LoadPropertyUserRow 8788 for subclass in LoadPropertyUserRow.__subclasses__(): 8789 if subclass.__name__ == thisClass: 8790 givenClass = subclass 8791 result = self._Entity.MechanicalRow 8792 return givenClass(result) if result is not None else None 8793 8794 @property 8795 def ThermalRow(self) -> LoadPropertyUserRow: 8796 thisClass = type(self._Entity.ThermalRow).__name__ 8797 givenClass = LoadPropertyUserRow 8798 for subclass in LoadPropertyUserRow.__subclasses__(): 8799 if subclass.__name__ == thisClass: 8800 givenClass = subclass 8801 result = self._Entity.ThermalRow 8802 return givenClass(result) if result is not None else None 8803 8804 def SetName(self, name: str) -> None: 8805 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8784 @property 8785 def MechanicalRow(self) -> LoadPropertyUserRow: 8786 thisClass = type(self._Entity.MechanicalRow).__name__ 8787 givenClass = LoadPropertyUserRow 8788 for subclass in LoadPropertyUserRow.__subclasses__(): 8789 if subclass.__name__ == thisClass: 8790 givenClass = subclass 8791 result = self._Entity.MechanicalRow 8792 return givenClass(result) if result is not None else None
8794 @property 8795 def ThermalRow(self) -> LoadPropertyUserRow: 8796 thisClass = type(self._Entity.ThermalRow).__name__ 8797 givenClass = LoadPropertyUserRow 8798 for subclass in LoadPropertyUserRow.__subclasses__(): 8799 if subclass.__name__ == thisClass: 8800 givenClass = subclass 8801 result = self._Entity.ThermalRow 8802 return givenClass(result) if result is not None else None
Inherited Members
8808class LoadPropertyUserGeneralBeamDoubleRow(LoadPropertyUserGeneralDoubleRow): 8809 def __init__(self, loadPropertyUserGeneralBeamDoubleRow: _api.LoadPropertyUserGeneralBeamDoubleRow): 8810 self._Entity = loadPropertyUserGeneralBeamDoubleRow 8811 8812 @property 8813 def MechanicalRow(self) -> LoadPropertyUserRow: 8814 thisClass = type(self._Entity.MechanicalRow).__name__ 8815 givenClass = LoadPropertyUserRow 8816 for subclass in LoadPropertyUserRow.__subclasses__(): 8817 if subclass.__name__ == thisClass: 8818 givenClass = subclass 8819 result = self._Entity.MechanicalRow 8820 return givenClass(result) if result is not None else None 8821 8822 @property 8823 def ThermalRow(self) -> LoadPropertyUserRow: 8824 thisClass = type(self._Entity.ThermalRow).__name__ 8825 givenClass = LoadPropertyUserRow 8826 for subclass in LoadPropertyUserRow.__subclasses__(): 8827 if subclass.__name__ == thisClass: 8828 givenClass = subclass 8829 result = self._Entity.ThermalRow 8830 return givenClass(result) if result is not None else None 8831 8832 @property 8833 def M1AType(self) -> types.BoundaryConditionType: 8834 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8835 8836 @property 8837 def M2AType(self) -> types.BoundaryConditionType: 8838 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8839 8840 @property 8841 def M1BType(self) -> types.BoundaryConditionType: 8842 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8843 8844 @property 8845 def M2BType(self) -> types.BoundaryConditionType: 8846 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8847 8848 @property 8849 def V1Type(self) -> types.BoundaryConditionType: 8850 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8851 8852 @property 8853 def V2Type(self) -> types.BoundaryConditionType: 8854 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8855 8856 @property 8857 def AxialType(self) -> types.BoundaryConditionType: 8858 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8859 8860 @property 8861 def TorqueType(self) -> types.BoundaryConditionType: 8862 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8863 8864 def SetM1AType(self, type: types.BoundaryConditionType) -> None: 8865 return self._Entity.SetM1AType(_types.BoundaryConditionType(type.value)) 8866 8867 def SetM2AType(self, type: types.BoundaryConditionType) -> None: 8868 return self._Entity.SetM2AType(_types.BoundaryConditionType(type.value)) 8869 8870 def SetM1BType(self, type: types.BoundaryConditionType) -> None: 8871 return self._Entity.SetM1BType(_types.BoundaryConditionType(type.value)) 8872 8873 def SetM2BType(self, type: types.BoundaryConditionType) -> None: 8874 return self._Entity.SetM2BType(_types.BoundaryConditionType(type.value)) 8875 8876 def SetV1Type(self, type: types.BoundaryConditionType) -> None: 8877 return self._Entity.SetV1Type(_types.BoundaryConditionType(type.value)) 8878 8879 def SetV2Type(self, type: types.BoundaryConditionType) -> None: 8880 return self._Entity.SetV2Type(_types.BoundaryConditionType(type.value)) 8881 8882 def SetAxialType(self, type: types.BoundaryConditionType) -> None: 8883 return self._Entity.SetAxialType(_types.BoundaryConditionType(type.value)) 8884 8885 def SetTorqueType(self, type: types.BoundaryConditionType) -> None: 8886 return self._Entity.SetTorqueType(_types.BoundaryConditionType(type.value))
Represents an entity with an ID and Name.
8812 @property 8813 def MechanicalRow(self) -> LoadPropertyUserRow: 8814 thisClass = type(self._Entity.MechanicalRow).__name__ 8815 givenClass = LoadPropertyUserRow 8816 for subclass in LoadPropertyUserRow.__subclasses__(): 8817 if subclass.__name__ == thisClass: 8818 givenClass = subclass 8819 result = self._Entity.MechanicalRow 8820 return givenClass(result) if result is not None else None
8822 @property 8823 def ThermalRow(self) -> LoadPropertyUserRow: 8824 thisClass = type(self._Entity.ThermalRow).__name__ 8825 givenClass = LoadPropertyUserRow 8826 for subclass in LoadPropertyUserRow.__subclasses__(): 8827 if subclass.__name__ == thisClass: 8828 givenClass = subclass 8829 result = self._Entity.ThermalRow 8830 return givenClass(result) if result is not None else None
Inherited Members
8889class LoadPropertyUserGeneralRowCol(IdNameEntityCol, Generic[T]): 8890 def __init__(self, loadPropertyUserGeneralRowCol: _api.LoadPropertyUserGeneralRowCol): 8891 self._Entity = loadPropertyUserGeneralRowCol 8892 self._CollectedClass = T 8893 8894 @property 8895 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 8896 if self._Entity.Count() <= 0: 8897 return () 8898 thisClass = type(self._Entity._items[0]).__name__ 8899 givenClass = T 8900 for subclass in T.__subclasses__(): 8901 if subclass.__name__ == thisClass: 8902 givenClass = subclass 8903 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity]) 8904 8905 def AddScenario(self, name: str = None) -> T: 8906 return self._Entity.AddScenario(name) 8907 8908 @overload 8909 def DeleteScenario(self, scenarioId: int) -> bool: ... 8910 8911 @overload 8912 def DeleteScenario(self, scenarioName: str) -> bool: ... 8913 8914 @overload 8915 def Get(self, name: str) -> T: ... 8916 8917 @overload 8918 def Get(self, id: int) -> T: ... 8919 8920 def DeleteScenario(self, item1 = None) -> bool: 8921 if isinstance(item1, int): 8922 return self._Entity.DeleteScenario(item1) 8923 8924 if isinstance(item1, str): 8925 return self._Entity.DeleteScenario(item1) 8926 8927 return self._Entity.DeleteScenario(item1) 8928 8929 def Get(self, item1 = None) -> T: 8930 if isinstance(item1, str): 8931 return super().Get(item1) 8932 8933 if isinstance(item1, int): 8934 return super().Get(item1) 8935 8936 return self._Entity.Get(item1) 8937 8938 def __getitem__(self, index: int): 8939 return self.LoadPropertyUserGeneralRowColList[index] 8940 8941 def __iter__(self): 8942 yield from self.LoadPropertyUserGeneralRowColList 8943 8944 def __len__(self): 8945 return len(self.LoadPropertyUserGeneralRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8894 @property 8895 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 8896 if self._Entity.Count() <= 0: 8897 return () 8898 thisClass = type(self._Entity._items[0]).__name__ 8899 givenClass = T 8900 for subclass in T.__subclasses__(): 8901 if subclass.__name__ == thisClass: 8902 givenClass = subclass 8903 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity])
Inherited Members
8948class LoadPropertyUserGeneralBeamRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralBeamDoubleRow]): 8949 def __init__(self, loadPropertyUserGeneralBeamRowCol: _api.LoadPropertyUserGeneralBeamRowCol): 8950 self._Entity = loadPropertyUserGeneralBeamRowCol 8951 self._CollectedClass = LoadPropertyUserGeneralBeamDoubleRow 8952 8953 @property 8954 def LoadPropertyUserGeneralBeamRowColList(self) -> tuple[LoadPropertyUserGeneralBeamDoubleRow]: 8955 return tuple([LoadPropertyUserGeneralBeamDoubleRow(loadPropertyUserGeneralBeamRowCol) for loadPropertyUserGeneralBeamRowCol in self._Entity]) 8956 8957 @overload 8958 def DeleteScenario(self, scenarioId: int) -> bool: ... 8959 8960 @overload 8961 def DeleteScenario(self, scenarioName: str) -> bool: ... 8962 8963 @overload 8964 def Get(self, name: str) -> LoadPropertyUserGeneralBeamDoubleRow: ... 8965 8966 @overload 8967 def Get(self, id: int) -> LoadPropertyUserGeneralBeamDoubleRow: ... 8968 8969 def DeleteScenario(self, item1 = None) -> bool: 8970 if isinstance(item1, int): 8971 return bool(super().DeleteScenario(item1)) 8972 8973 if isinstance(item1, str): 8974 return bool(super().DeleteScenario(item1)) 8975 8976 return self._Entity.DeleteScenario(item1) 8977 8978 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 8979 if isinstance(item1, str): 8980 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8981 8982 if isinstance(item1, int): 8983 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8984 8985 return self._Entity.Get(item1) 8986 8987 def __getitem__(self, index: int): 8988 return self.LoadPropertyUserGeneralBeamRowColList[index] 8989 8990 def __iter__(self): 8991 yield from self.LoadPropertyUserGeneralBeamRowColList 8992 8993 def __len__(self): 8994 return len(self.LoadPropertyUserGeneralBeamRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8978 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 8979 if isinstance(item1, str): 8980 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8981 8982 if isinstance(item1, int): 8983 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 8984 8985 return self._Entity.Get(item1)
8997class LoadPropertyUserGeneralBeam(LoadProperty): 8998 def __init__(self, loadPropertyUserGeneralBeam: _api.LoadPropertyUserGeneralBeam): 8999 self._Entity = loadPropertyUserGeneralBeam 9000 9001 @property 9002 def UserGeneralRows(self) -> LoadPropertyUserGeneralBeamRowCol: 9003 result = self._Entity.UserGeneralRows 9004 return LoadPropertyUserGeneralBeamRowCol(result) if result is not None else None 9005 9006 @property 9007 def IsIncludingThermal(self) -> bool: 9008 return self._Entity.IsIncludingThermal 9009 9010 @IsIncludingThermal.setter 9011 def IsIncludingThermal(self, value: bool) -> None: 9012 self._Entity.IsIncludingThermal = value
Represents an entity with an ID and Name.
Inherited Members
9015class LoadPropertyUserGeneralBoltedRow(IdEntity): 9016 def __init__(self, loadPropertyUserGeneralBoltedRow: _api.LoadPropertyUserGeneralBoltedRow): 9017 self._Entity = loadPropertyUserGeneralBoltedRow 9018 9019 @property 9020 def LoadPropertyId(self) -> int: 9021 return self._Entity.LoadPropertyId 9022 9023 @property 9024 def LoadScenarioId(self) -> int: 9025 return self._Entity.LoadScenarioId 9026 9027 @property 9028 def Fx(self) -> float: 9029 return self._Entity.Fx 9030 9031 @property 9032 def Fy(self) -> float: 9033 return self._Entity.Fy 9034 9035 @property 9036 def Fz(self) -> float: 9037 return self._Entity.Fz 9038 9039 @property 9040 def Mx(self) -> float: 9041 return self._Entity.Mx 9042 9043 @property 9044 def My(self) -> float: 9045 return self._Entity.My 9046 9047 @property 9048 def Mz(self) -> float: 9049 return self._Entity.Mz 9050 9051 @property 9052 def NxBypass(self) -> float: 9053 return self._Entity.NxBypass 9054 9055 @property 9056 def NyBypass(self) -> float: 9057 return self._Entity.NyBypass 9058 9059 @property 9060 def NxyBypass(self) -> float: 9061 return self._Entity.NxyBypass 9062 9063 @property 9064 def LimitFactor(self) -> float: 9065 return self._Entity.LimitFactor 9066 9067 @property 9068 def UltimateFactor(self) -> float: 9069 return self._Entity.UltimateFactor 9070 9071 @Fx.setter 9072 def Fx(self, value: float) -> None: 9073 self._Entity.Fx = value 9074 9075 @Fy.setter 9076 def Fy(self, value: float) -> None: 9077 self._Entity.Fy = value 9078 9079 @Fz.setter 9080 def Fz(self, value: float) -> None: 9081 self._Entity.Fz = value 9082 9083 @Mx.setter 9084 def Mx(self, value: float) -> None: 9085 self._Entity.Mx = value 9086 9087 @My.setter 9088 def My(self, value: float) -> None: 9089 self._Entity.My = value 9090 9091 @Mz.setter 9092 def Mz(self, value: float) -> None: 9093 self._Entity.Mz = value 9094 9095 @NxBypass.setter 9096 def NxBypass(self, value: float) -> None: 9097 self._Entity.NxBypass = value 9098 9099 @NyBypass.setter 9100 def NyBypass(self, value: float) -> None: 9101 self._Entity.NyBypass = value 9102 9103 @NxyBypass.setter 9104 def NxyBypass(self, value: float) -> None: 9105 self._Entity.NxyBypass = value 9106 9107 @LimitFactor.setter 9108 def LimitFactor(self, value: float) -> None: 9109 self._Entity.LimitFactor = value 9110 9111 @UltimateFactor.setter 9112 def UltimateFactor(self, value: float) -> None: 9113 self._Entity.UltimateFactor = value
Represents an entity with an ID.
9116class LoadPropertyUserGeneralBoltedRowCol(IdEntityCol[LoadPropertyUserGeneralBoltedRow]): 9117 def __init__(self, loadPropertyUserGeneralBoltedRowCol: _api.LoadPropertyUserGeneralBoltedRowCol): 9118 self._Entity = loadPropertyUserGeneralBoltedRowCol 9119 self._CollectedClass = LoadPropertyUserGeneralBoltedRow 9120 9121 @property 9122 def LoadPropertyUserGeneralBoltedRowColList(self) -> tuple[LoadPropertyUserGeneralBoltedRow]: 9123 return tuple([LoadPropertyUserGeneralBoltedRow(loadPropertyUserGeneralBoltedRowCol) for loadPropertyUserGeneralBoltedRowCol in self._Entity]) 9124 9125 def AddScenario(self) -> None: 9126 ''' 9127 Adds a load scenario with default values 9128 ''' 9129 return self._Entity.AddScenario() 9130 9131 def DeleteScenario(self, scenarioId: int) -> bool: 9132 return self._Entity.DeleteScenario(scenarioId) 9133 9134 def __getitem__(self, index: int): 9135 return self.LoadPropertyUserGeneralBoltedRowColList[index] 9136 9137 def __iter__(self): 9138 yield from self.LoadPropertyUserGeneralBoltedRowColList 9139 9140 def __len__(self): 9141 return len(self.LoadPropertyUserGeneralBoltedRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9125 def AddScenario(self) -> None: 9126 ''' 9127 Adds a load scenario with default values 9128 ''' 9129 return self._Entity.AddScenario()
Adds a load scenario with default values
Inherited Members
9144class LoadPropertyUserGeneralBolted(LoadProperty): 9145 def __init__(self, loadPropertyUserGeneralBolted: _api.LoadPropertyUserGeneralBolted): 9146 self._Entity = loadPropertyUserGeneralBolted 9147 9148 @property 9149 def UserGeneralBoltedRows(self) -> LoadPropertyUserGeneralBoltedRowCol: 9150 result = self._Entity.UserGeneralBoltedRows 9151 return LoadPropertyUserGeneralBoltedRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
9154class LoadPropertyUserGeneralBondedRow(IdEntity): 9155 def __init__(self, loadPropertyUserGeneralBondedRow: _api.LoadPropertyUserGeneralBondedRow): 9156 self._Entity = loadPropertyUserGeneralBondedRow 9157 9158 @property 9159 def LoadPropertyId(self) -> int: 9160 return self._Entity.LoadPropertyId 9161 9162 @property 9163 def JointConceptId(self) -> types.JointConceptId: 9164 return types.JointConceptId[self._Entity.JointConceptId.ToString()] 9165 9166 @property 9167 def BondedBcId(self) -> int: 9168 return self._Entity.BondedBcId 9169 9170 @property 9171 def AxialType(self) -> types.BoundaryConditionType: 9172 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9173 9174 @property 9175 def MomentType(self) -> types.BoundaryConditionType: 9176 return types.BoundaryConditionType[self._Entity.MomentType.ToString()] 9177 9178 @property 9179 def TransverseType(self) -> types.BoundaryConditionType: 9180 return types.BoundaryConditionType[self._Entity.TransverseType.ToString()] 9181 9182 @property 9183 def ShearType(self) -> types.BoundaryConditionType: 9184 return types.BoundaryConditionType[self._Entity.ShearType.ToString()] 9185 9186 @property 9187 def Axial(self) -> float: 9188 return self._Entity.Axial 9189 9190 @property 9191 def Moment(self) -> float: 9192 return self._Entity.Moment 9193 9194 @property 9195 def Transverse(self) -> float: 9196 return self._Entity.Transverse 9197 9198 @property 9199 def Shear(self) -> float: 9200 return self._Entity.Shear 9201 9202 @AxialType.setter 9203 def AxialType(self, value: types.BoundaryConditionType) -> None: 9204 self._Entity.AxialType = _types.BoundaryConditionType(value.value) 9205 9206 @MomentType.setter 9207 def MomentType(self, value: types.BoundaryConditionType) -> None: 9208 self._Entity.MomentType = _types.BoundaryConditionType(value.value) 9209 9210 @TransverseType.setter 9211 def TransverseType(self, value: types.BoundaryConditionType) -> None: 9212 self._Entity.TransverseType = _types.BoundaryConditionType(value.value) 9213 9214 @ShearType.setter 9215 def ShearType(self, value: types.BoundaryConditionType) -> None: 9216 self._Entity.ShearType = _types.BoundaryConditionType(value.value) 9217 9218 @Axial.setter 9219 def Axial(self, value: float) -> None: 9220 self._Entity.Axial = value 9221 9222 @Moment.setter 9223 def Moment(self, value: float) -> None: 9224 self._Entity.Moment = value 9225 9226 @Transverse.setter 9227 def Transverse(self, value: float) -> None: 9228 self._Entity.Transverse = value 9229 9230 @Shear.setter 9231 def Shear(self, value: float) -> None: 9232 self._Entity.Shear = value 9233 9234 def UpdateRow(self) -> None: 9235 return self._Entity.UpdateRow()
Represents an entity with an ID.
9238class LoadPropertyUserGeneralBondedRowCol(IdEntityCol[LoadPropertyUserGeneralBondedRow]): 9239 def __init__(self, loadPropertyUserGeneralBondedRowCol: _api.LoadPropertyUserGeneralBondedRowCol): 9240 self._Entity = loadPropertyUserGeneralBondedRowCol 9241 self._CollectedClass = LoadPropertyUserGeneralBondedRow 9242 9243 @property 9244 def LoadPropertyUserGeneralBondedRowColList(self) -> tuple[LoadPropertyUserGeneralBondedRow]: 9245 return tuple([LoadPropertyUserGeneralBondedRow(loadPropertyUserGeneralBondedRowCol) for loadPropertyUserGeneralBondedRowCol in self._Entity]) 9246 9247 def __getitem__(self, index: int): 9248 return self.LoadPropertyUserGeneralBondedRowColList[index] 9249 9250 def __iter__(self): 9251 yield from self.LoadPropertyUserGeneralBondedRowColList 9252 9253 def __len__(self): 9254 return len(self.LoadPropertyUserGeneralBondedRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
9257class LoadPropertyJoint(IdEntity): 9258 def __init__(self, loadPropertyJoint: _api.LoadPropertyJoint): 9259 self._Entity = loadPropertyJoint 9260 9261 @property 9262 def UserGeneralBondedRows(self) -> LoadPropertyUserGeneralBondedRowCol: 9263 result = self._Entity.UserGeneralBondedRows 9264 return LoadPropertyUserGeneralBondedRowCol(result) if result is not None else None 9265 9266 @property 9267 def LoadPropertyId(self) -> int: 9268 return self._Entity.LoadPropertyId 9269 9270 @property 9271 def JConceptId(self) -> types.JointConceptId: 9272 return types.JointConceptId[self._Entity.JConceptId.ToString()] 9273 9274 @property 9275 def Ex(self) -> float: 9276 return self._Entity.Ex 9277 9278 @property 9279 def Kx(self) -> float: 9280 return self._Entity.Kx 9281 9282 @property 9283 def Kxy(self) -> float: 9284 return self._Entity.Kxy 9285 9286 @property 9287 def Temperature(self) -> float: 9288 return self._Entity.Temperature 9289 9290 @JConceptId.setter 9291 def JConceptId(self, value: types.JointConceptId) -> None: 9292 self._Entity.JConceptId = _types.JointConceptId(value.value) 9293 9294 @Ex.setter 9295 def Ex(self, value: float) -> None: 9296 self._Entity.Ex = value 9297 9298 @Kx.setter 9299 def Kx(self, value: float) -> None: 9300 self._Entity.Kx = value 9301 9302 @Kxy.setter 9303 def Kxy(self, value: float) -> None: 9304 self._Entity.Kxy = value 9305 9306 @Temperature.setter 9307 def Temperature(self, value: float) -> None: 9308 self._Entity.Temperature = value
Represents an entity with an ID.
9311class LoadPropertyUserGeneralBonded(LoadProperty): 9312 def __init__(self, loadPropertyUserGeneralBonded: _api.LoadPropertyUserGeneralBonded): 9313 self._Entity = loadPropertyUserGeneralBonded 9314 9315 @property 9316 def LoadPropertyJoint(self) -> LoadPropertyJoint: 9317 result = self._Entity.LoadPropertyJoint 9318 return LoadPropertyJoint(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
9321class LoadPropertyUserGeneralPanelDoubleRow(LoadPropertyUserGeneralDoubleRow): 9322 def __init__(self, loadPropertyUserGeneralPanelDoubleRow: _api.LoadPropertyUserGeneralPanelDoubleRow): 9323 self._Entity = loadPropertyUserGeneralPanelDoubleRow 9324 9325 @property 9326 def MechanicalRow(self) -> LoadPropertyUserRow: 9327 thisClass = type(self._Entity.MechanicalRow).__name__ 9328 givenClass = LoadPropertyUserRow 9329 for subclass in LoadPropertyUserRow.__subclasses__(): 9330 if subclass.__name__ == thisClass: 9331 givenClass = subclass 9332 result = self._Entity.MechanicalRow 9333 return givenClass(result) if result is not None else None 9334 9335 @property 9336 def ThermalRow(self) -> LoadPropertyUserRow: 9337 thisClass = type(self._Entity.ThermalRow).__name__ 9338 givenClass = LoadPropertyUserRow 9339 for subclass in LoadPropertyUserRow.__subclasses__(): 9340 if subclass.__name__ == thisClass: 9341 givenClass = subclass 9342 result = self._Entity.ThermalRow 9343 return givenClass(result) if result is not None else None 9344 9345 @property 9346 def NxType(self) -> types.BoundaryConditionType: 9347 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 9348 9349 @property 9350 def NyType(self) -> types.BoundaryConditionType: 9351 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 9352 9353 @property 9354 def NxyType(self) -> types.BoundaryConditionType: 9355 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 9356 9357 @property 9358 def MxType(self) -> types.BoundaryConditionType: 9359 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 9360 9361 @property 9362 def MyType(self) -> types.BoundaryConditionType: 9363 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 9364 9365 @property 9366 def MxyType(self) -> types.BoundaryConditionType: 9367 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 9368 9369 @property 9370 def QxType(self) -> types.BoundaryConditionType: 9371 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 9372 9373 @property 9374 def QyType(self) -> types.BoundaryConditionType: 9375 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 9376 9377 def SetNxType(self, type: types.BoundaryConditionType) -> None: 9378 return self._Entity.SetNxType(_types.BoundaryConditionType(type.value)) 9379 9380 def SetNyType(self, type: types.BoundaryConditionType) -> None: 9381 return self._Entity.SetNyType(_types.BoundaryConditionType(type.value)) 9382 9383 def SetNxyType(self, type: types.BoundaryConditionType) -> None: 9384 return self._Entity.SetNxyType(_types.BoundaryConditionType(type.value)) 9385 9386 def SetMxType(self, type: types.BoundaryConditionType) -> None: 9387 return self._Entity.SetMxType(_types.BoundaryConditionType(type.value)) 9388 9389 def SetMyType(self, type: types.BoundaryConditionType) -> None: 9390 return self._Entity.SetMyType(_types.BoundaryConditionType(type.value)) 9391 9392 def SetMxyType(self, type: types.BoundaryConditionType) -> None: 9393 return self._Entity.SetMxyType(_types.BoundaryConditionType(type.value)) 9394 9395 def SetQxType(self, type: types.BoundaryConditionType) -> None: 9396 return self._Entity.SetQxType(_types.BoundaryConditionType(type.value)) 9397 9398 def SetQyType(self, type: types.BoundaryConditionType) -> None: 9399 return self._Entity.SetQyType(_types.BoundaryConditionType(type.value))
Represents an entity with an ID and Name.
9325 @property 9326 def MechanicalRow(self) -> LoadPropertyUserRow: 9327 thisClass = type(self._Entity.MechanicalRow).__name__ 9328 givenClass = LoadPropertyUserRow 9329 for subclass in LoadPropertyUserRow.__subclasses__(): 9330 if subclass.__name__ == thisClass: 9331 givenClass = subclass 9332 result = self._Entity.MechanicalRow 9333 return givenClass(result) if result is not None else None
9335 @property 9336 def ThermalRow(self) -> LoadPropertyUserRow: 9337 thisClass = type(self._Entity.ThermalRow).__name__ 9338 givenClass = LoadPropertyUserRow 9339 for subclass in LoadPropertyUserRow.__subclasses__(): 9340 if subclass.__name__ == thisClass: 9341 givenClass = subclass 9342 result = self._Entity.ThermalRow 9343 return givenClass(result) if result is not None else None
Inherited Members
9402class LoadPropertyUserGeneralPanelRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralPanelDoubleRow]): 9403 def __init__(self, loadPropertyUserGeneralPanelRowCol: _api.LoadPropertyUserGeneralPanelRowCol): 9404 self._Entity = loadPropertyUserGeneralPanelRowCol 9405 self._CollectedClass = LoadPropertyUserGeneralPanelDoubleRow 9406 9407 @property 9408 def LoadPropertyUserGeneralPanelRowColList(self) -> tuple[LoadPropertyUserGeneralPanelDoubleRow]: 9409 return tuple([LoadPropertyUserGeneralPanelDoubleRow(loadPropertyUserGeneralPanelRowCol) for loadPropertyUserGeneralPanelRowCol in self._Entity]) 9410 9411 @overload 9412 def DeleteScenario(self, scenarioId: int) -> bool: ... 9413 9414 @overload 9415 def DeleteScenario(self, scenarioName: str) -> bool: ... 9416 9417 @overload 9418 def Get(self, name: str) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9419 9420 @overload 9421 def Get(self, id: int) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9422 9423 def DeleteScenario(self, item1 = None) -> bool: 9424 if isinstance(item1, int): 9425 return bool(super().DeleteScenario(item1)) 9426 9427 if isinstance(item1, str): 9428 return bool(super().DeleteScenario(item1)) 9429 9430 return self._Entity.DeleteScenario(item1) 9431 9432 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9433 if isinstance(item1, str): 9434 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9435 9436 if isinstance(item1, int): 9437 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9438 9439 return self._Entity.Get(item1) 9440 9441 def __getitem__(self, index: int): 9442 return self.LoadPropertyUserGeneralPanelRowColList[index] 9443 9444 def __iter__(self): 9445 yield from self.LoadPropertyUserGeneralPanelRowColList 9446 9447 def __len__(self): 9448 return len(self.LoadPropertyUserGeneralPanelRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9432 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9433 if isinstance(item1, str): 9434 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9435 9436 if isinstance(item1, int): 9437 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9438 9439 return self._Entity.Get(item1)
9451class LoadPropertyUserGeneralPanel(LoadProperty): 9452 def __init__(self, loadPropertyUserGeneralPanel: _api.LoadPropertyUserGeneralPanel): 9453 self._Entity = loadPropertyUserGeneralPanel 9454 9455 @property 9456 def UserGeneralRows(self) -> LoadPropertyUserGeneralPanelRowCol: 9457 result = self._Entity.UserGeneralRows 9458 return LoadPropertyUserGeneralPanelRowCol(result) if result is not None else None 9459 9460 @property 9461 def IsIncludingThermal(self) -> bool: 9462 return self._Entity.IsIncludingThermal 9463 9464 @IsIncludingThermal.setter 9465 def IsIncludingThermal(self, value: bool) -> None: 9466 self._Entity.IsIncludingThermal = value 9467 9468 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9469 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Represents an entity with an ID and Name.
Inherited Members
9472class JointSelectionDesignResult(JointDesignResult): 9473 def __init__(self, jointSelectionDesignResult: _api.JointSelectionDesignResult): 9474 self._Entity = jointSelectionDesignResult 9475 9476 @property 9477 def JointSelectionId(self) -> types.JointSelectionId: 9478 return types.JointSelectionId[self._Entity.JointSelectionId.ToString()]
Represents an entity with an ID.
9481class JointFastenerDesignResult(JointSelectionDesignResult): 9482 def __init__(self, jointFastenerDesignResult: _api.JointFastenerDesignResult): 9483 self._Entity = jointFastenerDesignResult 9484 9485 @property 9486 def FastenerBoltId(self) -> int: 9487 return self._Entity.FastenerBoltId 9488 9489 @property 9490 def FastenerCodeId(self) -> int: 9491 return self._Entity.FastenerCodeId
Represents an entity with an ID.
Inherited Members
9494class JointMaterialDesignResult(JointSelectionDesignResult): 9495 def __init__(self, jointMaterialDesignResult: _api.JointMaterialDesignResult): 9496 self._Entity = jointMaterialDesignResult 9497 9498 @property 9499 def MaterialId(self) -> int: 9500 return self._Entity.MaterialId 9501 9502 @property 9503 def MaterialType(self) -> types.MaterialType: 9504 ''' 9505 Represents a material's type. 9506 ''' 9507 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
9502 @property 9503 def MaterialType(self) -> types.MaterialType: 9504 ''' 9505 Represents a material's type. 9506 ''' 9507 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents a material's type.
Inherited Members
9510class JointRangeDesignResult(JointDesignResult): 9511 def __init__(self, jointRangeDesignResult: _api.JointRangeDesignResult): 9512 self._Entity = jointRangeDesignResult 9513 9514 @property 9515 def JointRangeId(self) -> types.JointRangeId: 9516 return types.JointRangeId[self._Entity.JointRangeId.ToString()] 9517 9518 @property 9519 def Value(self) -> float: 9520 return self._Entity.Value
Represents an entity with an ID.
9523class JointRivetDesignResult(JointSelectionDesignResult): 9524 def __init__(self, jointRivetDesignResult: _api.JointRivetDesignResult): 9525 self._Entity = jointRivetDesignResult 9526 9527 @property 9528 def RivetId(self) -> int: 9529 return self._Entity.RivetId 9530 9531 @property 9532 def RivetDiameterId(self) -> int: 9533 return self._Entity.RivetDiameterId
Represents an entity with an ID.
Inherited Members
9536class Environment(ABC): 9537 ''' 9538 Represents HyperX's execution environment (where HyperX is installed). 9539 ''' 9540 def __init__(self, environment: _api.Environment): 9541 self._Entity = environment 9542 9543 def SetLocation(location: str) -> None: 9544 return _api.Environment.SetLocation(location) 9545 9546 def Initialize() -> None: 9547 ''' 9548 Initialize the HyperX scripting environment. 9549 ''' 9550 return _api.Environment.Initialize()
Represents HyperX's execution environment (where HyperX is installed).
9553class FailureCriterionSetting(FailureSetting): 9554 ''' 9555 Setting for a Failure Criteria. 9556 ''' 9557 def __init__(self, failureCriterionSetting: _api.FailureCriterionSetting): 9558 self._Entity = failureCriterionSetting
Setting for a Failure Criteria.
9561class FailureModeSetting(FailureSetting): 9562 ''' 9563 Setting for a Failure Mode. 9564 ''' 9565 def __init__(self, failureModeSetting: _api.FailureModeSetting): 9566 self._Entity = failureModeSetting
Setting for a Failure Mode.
9569class HelperFunctions(ABC): 9570 def __init__(self, helperFunctions: _api.HelperFunctions): 9571 self._Entity = helperFunctions 9572 9573 def NullableSingle(input: float) -> float: 9574 return _api.HelperFunctions.NullableSingle(input)
9584class LaminatePlyData: 9585 ''' 9586 Per ply data for Laminate materials 9587 ''' 9588 def __init__(self, laminatePlyData: _api.LaminatePlyData): 9589 self._Entity = laminatePlyData 9590 9591 @property 9592 def MaterialId(self) -> int: 9593 return self._Entity.MaterialId 9594 9595 @property 9596 def PlyId(self) -> int: 9597 return self._Entity.PlyId 9598 9599 @property 9600 def PlyMaterialId(self) -> int: 9601 return self._Entity.PlyMaterialId 9602 9603 @property 9604 def PlyMaterialType(self) -> types.MaterialType: 9605 ''' 9606 Represents a material's type. 9607 ''' 9608 return types.MaterialType[self._Entity.PlyMaterialType.ToString()] 9609 9610 @property 9611 def Angle(self) -> float: 9612 return self._Entity.Angle 9613 9614 @property 9615 def Thickness(self) -> float: 9616 return self._Entity.Thickness 9617 9618 @property 9619 def IsFabric(self) -> bool: 9620 return self._Entity.IsFabric 9621 9622 @property 9623 def FamilyPlyId(self) -> int: 9624 return self._Entity.FamilyPlyId 9625 9626 @property 9627 def OriginalPlyId(self) -> int: 9628 return self._Entity.OriginalPlyId 9629 9630 @property 9631 def OriginalFamilyPlyId(self) -> int: 9632 return self._Entity.OriginalFamilyPlyId 9633 9634 @property 9635 def DisplaySequenceId(self) -> int: 9636 return self._Entity.DisplaySequenceId 9637 9638 @property 9639 def PlyStiffenerSubType(self) -> types.PlyStiffenerSubType: 9640 return types.PlyStiffenerSubType[self._Entity.PlyStiffenerSubType.ToString()] 9641 9642 @property 9643 def Object1(self) -> bool: 9644 return self._Entity.Object1 9645 9646 @property 9647 def Object2(self) -> bool: 9648 return self._Entity.Object2 9649 9650 @property 9651 def Object3(self) -> bool: 9652 return self._Entity.Object3 9653 9654 @property 9655 def IsInverted(self) -> bool: 9656 return self._Entity.IsInverted 9657 9658 @property 9659 def IsFullStructure(self) -> bool: 9660 return self._Entity.IsFullStructure 9661 9662 @property 9663 def UseTrueFiberDirection(self) -> bool: 9664 return self._Entity.UseTrueFiberDirection 9665 9666 @property 9667 def IsInFoot(self) -> bool: 9668 return self._Entity.IsInFoot 9669 9670 @property 9671 def IsInWeb(self) -> bool: 9672 return self._Entity.IsInWeb 9673 9674 @property 9675 def IsInCap(self) -> bool: 9676 return self._Entity.IsInCap 9677 9678 def SetMaterial(self, matId: int) -> bool: 9679 return self._Entity.SetMaterial(matId) 9680 9681 def SetAngle(self, angle: float) -> bool: 9682 return self._Entity.SetAngle(angle)
Per ply data for Laminate materials
9603 @property 9604 def PlyMaterialType(self) -> types.MaterialType: 9605 ''' 9606 Represents a material's type. 9607 ''' 9608 return types.MaterialType[self._Entity.PlyMaterialType.ToString()]
Represents a material's type.
9685class Beam(Zone): 9686 def __init__(self, beam: _api.Beam): 9687 self._Entity = beam 9688 9689 @property 9690 def Length(self) -> float: 9691 return self._Entity.Length 9692 9693 @property 9694 def Phi(self) -> float: 9695 return self._Entity.Phi 9696 9697 @property 9698 def K1(self) -> float: 9699 return self._Entity.K1 9700 9701 @property 9702 def K2(self) -> float: 9703 return self._Entity.K2 9704 9705 @property 9706 def ReferencePlane(self) -> types.ReferencePlaneBeam: 9707 return types.ReferencePlaneBeam[self._Entity.ReferencePlane.ToString()] 9708 9709 @Phi.setter 9710 def Phi(self, value: float) -> None: 9711 self._Entity.Phi = value 9712 9713 @K1.setter 9714 def K1(self, value: float) -> None: 9715 self._Entity.K1 = value 9716 9717 @K2.setter 9718 def K2(self, value: float) -> None: 9719 self._Entity.K2 = value 9720 9721 @ReferencePlane.setter 9722 def ReferencePlane(self, value: types.ReferencePlaneBeam) -> None: 9723 self._Entity.ReferencePlane = _types.ReferencePlaneBeam(value.value)
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
9726class ZoneBulkUpdaterBase(BulkUpdaterBase): 9727 def __init__(self, zoneBulkUpdaterBase: _api.ZoneBulkUpdaterBase): 9728 self._Entity = zoneBulkUpdaterBase
Inherited Members
9731class BeamBulkUpdater(ZoneBulkUpdaterBase): 9732 def __init__(self, beamBulkUpdater: _api.BeamBulkUpdater): 9733 self._Entity = beamBulkUpdater 9734 9735 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 9736 itemsList = List[_api.Beam]() 9737 if items is not None: 9738 for thing in items: 9739 if thing is not None: 9740 itemsList.Add(thing._Entity) 9741 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
9735 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 9736 itemsList = List[_api.Beam]() 9737 if items is not None: 9738 for thing in items: 9739 if thing is not None: 9740 itemsList.Add(thing._Entity) 9741 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
9744class Panel(Zone): 9745 def __init__(self, panel: _api.Panel): 9746 self._Entity = panel 9747 9748 @property 9749 def Area(self) -> float: 9750 return self._Entity.Area 9751 9752 @property 9753 def ReferencePlane(self) -> types.ReferencePlanePanel: 9754 return types.ReferencePlanePanel[self._Entity.ReferencePlane.ToString()] 9755 9756 @property 9757 def AddedOffset(self) -> float: 9758 return self._Entity.AddedOffset 9759 9760 @property 9761 def YSpan(self) -> float: 9762 return self._Entity.YSpan 9763 9764 @property 9765 def IsCurved(self) -> bool: 9766 return self._Entity.IsCurved 9767 9768 @property 9769 def Radius(self) -> float: 9770 return self._Entity.Radius 9771 9772 @property 9773 def IsFullCylinder(self) -> bool: 9774 return self._Entity.IsFullCylinder 9775 9776 @property 9777 def BucklingMode(self) -> types.ZoneBucklingMode: 9778 return types.ZoneBucklingMode[self._Entity.BucklingMode.ToString()] 9779 9780 @property 9781 def PerformLocalPostbuckling(self) -> bool: 9782 return self._Entity.PerformLocalPostbuckling 9783 9784 @property 9785 def A11Required(self) -> float: 9786 return self._Entity.A11Required 9787 9788 @property 9789 def A22Required(self) -> float: 9790 return self._Entity.A22Required 9791 9792 @property 9793 def A33Required(self) -> float: 9794 return self._Entity.A33Required 9795 9796 @property 9797 def D11Required(self) -> float: 9798 return self._Entity.D11Required 9799 9800 @property 9801 def D22Required(self) -> float: 9802 return self._Entity.D22Required 9803 9804 @property 9805 def D33Required(self) -> float: 9806 return self._Entity.D33Required 9807 9808 @property 9809 def A11Auto(self) -> float: 9810 return self._Entity.A11Auto 9811 9812 @property 9813 def A22Auto(self) -> float: 9814 return self._Entity.A22Auto 9815 9816 @property 9817 def A33Auto(self) -> float: 9818 return self._Entity.A33Auto 9819 9820 @property 9821 def D11Auto(self) -> float: 9822 return self._Entity.D11Auto 9823 9824 @property 9825 def D22Auto(self) -> float: 9826 return self._Entity.D22Auto 9827 9828 @property 9829 def D33Auto(self) -> float: 9830 return self._Entity.D33Auto 9831 9832 @property 9833 def Ey(self) -> float: 9834 return self._Entity.Ey 9835 9836 @property 9837 def Kx(self) -> float: 9838 return self._Entity.Kx 9839 9840 @property 9841 def Ky(self) -> float: 9842 return self._Entity.Ky 9843 9844 @ReferencePlane.setter 9845 def ReferencePlane(self, value: types.ReferencePlanePanel) -> None: 9846 self._Entity.ReferencePlane = _types.ReferencePlanePanel(value.value) 9847 9848 @AddedOffset.setter 9849 def AddedOffset(self, value: float) -> None: 9850 self._Entity.AddedOffset = value 9851 9852 @YSpan.setter 9853 def YSpan(self, value: float) -> None: 9854 self._Entity.YSpan = value 9855 9856 @IsCurved.setter 9857 def IsCurved(self, value: bool) -> None: 9858 self._Entity.IsCurved = value 9859 9860 @Radius.setter 9861 def Radius(self, value: float) -> None: 9862 self._Entity.Radius = value 9863 9864 @IsFullCylinder.setter 9865 def IsFullCylinder(self, value: bool) -> None: 9866 self._Entity.IsFullCylinder = value 9867 9868 @BucklingMode.setter 9869 def BucklingMode(self, value: types.ZoneBucklingMode) -> None: 9870 self._Entity.BucklingMode = _types.ZoneBucklingMode(value.value) 9871 9872 @PerformLocalPostbuckling.setter 9873 def PerformLocalPostbuckling(self, value: bool) -> None: 9874 self._Entity.PerformLocalPostbuckling = value 9875 9876 @A11Required.setter 9877 def A11Required(self, value: float) -> None: 9878 self._Entity.A11Required = value 9879 9880 @A22Required.setter 9881 def A22Required(self, value: float) -> None: 9882 self._Entity.A22Required = value 9883 9884 @A33Required.setter 9885 def A33Required(self, value: float) -> None: 9886 self._Entity.A33Required = value 9887 9888 @D11Required.setter 9889 def D11Required(self, value: float) -> None: 9890 self._Entity.D11Required = value 9891 9892 @D22Required.setter 9893 def D22Required(self, value: float) -> None: 9894 self._Entity.D22Required = value 9895 9896 @D33Required.setter 9897 def D33Required(self, value: float) -> None: 9898 self._Entity.D33Required = value 9899 9900 @Ey.setter 9901 def Ey(self, value: float) -> None: 9902 self._Entity.Ey = value 9903 9904 @Kx.setter 9905 def Kx(self, value: float) -> None: 9906 self._Entity.Kx = value 9907 9908 @Ky.setter 9909 def Ky(self, value: float) -> None: 9910 self._Entity.Ky = value
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
9913class PanelBulkUpdater(ZoneBulkUpdaterBase): 9914 def __init__(self, panelBulkUpdater: _api.PanelBulkUpdater): 9915 self._Entity = panelBulkUpdater 9916 9917 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 9918 itemsList = List[_api.Panel]() 9919 if items is not None: 9920 for thing in items: 9921 if thing is not None: 9922 itemsList.Add(thing._Entity) 9923 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
9917 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 9918 itemsList = List[_api.Panel]() 9919 if items is not None: 9920 for thing in items: 9921 if thing is not None: 9922 itemsList.Add(thing._Entity) 9923 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
9926class PanelSegmentBulkUpdater(ZoneBulkUpdaterBase): 9927 def __init__(self, panelSegmentBulkUpdater: _api.PanelSegmentBulkUpdater): 9928 self._Entity = panelSegmentBulkUpdater 9929 9930 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 9931 itemsList = List[_api.PanelSegment]() 9932 if items is not None: 9933 for thing in items: 9934 if thing is not None: 9935 itemsList.Add(thing._Entity) 9936 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
9930 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 9931 itemsList = List[_api.PanelSegment]() 9932 if items is not None: 9933 for thing in items: 9934 if thing is not None: 9935 itemsList.Add(thing._Entity) 9936 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
9939class ZoneBulkUpdater(ZoneBulkUpdaterBase): 9940 def __init__(self, zoneBulkUpdater: _api.ZoneBulkUpdater): 9941 self._Entity = zoneBulkUpdater 9942 9943 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 9944 itemsList = List[_api.Zone]() 9945 if items is not None: 9946 for thing in items: 9947 if thing is not None: 9948 itemsList.Add(thing._Entity) 9949 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
9943 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 9944 itemsList = List[_api.Zone]() 9945 if items is not None: 9946 for thing in items: 9947 if thing is not None: 9948 itemsList.Add(thing._Entity) 9949 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))